Make context the first argument of operation objects
Add Paste operation to edit menu when opening the context menu on a blank area of the map (close#2508)
Consolidate localization behavior and init to a coreLocalizer function and singleton
Explicitly support `en-US` locale
Rename coreData to coreFileFetcher and export a singleton rather than using a property of coreContext
Add `apiConnections` property of coreContext to simplify adding a source switcher
Replace some init functions with re-callable, promise-supporting `ensureLoaded` functions
Make coreContext itself load the UI if a container has been specified at init time
Fix code tests
This is cleaner than adding hooks to transitionable actions, or performing validation
on every history change. We want validation to run after each operation, but not
while the user is drawing lines or typing in fields.
* Support move, rotate, reflect, delete post paste on multiselection
* Improve text and error msgs for singular vs multi selections
* Move `disabled` checks from actions to operations
* Reproject center of rotation (closes#3667)
* Cleanup tests
(This is becuse they might have been deleted in a delete operation
and we are immediately redrawing the results of that operation before
reselecting something else)
(closes#3455)
Also fixed a minor bug in `iD.uiCmd` that was causing keyboard shortcuts
like '⌘⌫' to convert to 'Ctrl+Backspace+' (note extra trailing '+')
It affected only the tooltip display, not the key event binding.