Support 'shared' option to setBookmark

Issue #2360
Always merge matching-origin selection event after change

Issue #2305
Fix error when running undoSelection on empty history
Re-query selection state in onContextMenu

Issue #2369
Size gutters properly when no scrollbar is present

Issue #2368
In setSelections, default primary to old primary if not given

This makes it easier to update selections by mapping over them.
[sublime keymap] Fix behavior of swapLineUp from last line

Issue #2362

Also add origins to the changes generated.
Fix test suite for 00e4259be767733f
Prevent rounding errors from causing a phantom scrollbar on Firefox

Issue #2371
Mention restriction on mutating internal data in upgrade guide
[lint addons] Don't error on missing dependencies

Closes #2376
[xml mode] Fix indentation after 'context grabber'

Closes #2374
[xml mode] Fix parsing of quote-less attribute values

Issue #2373
[bidi demo] Fix html highlighting in demo
[sublime keymap] Add Ctrl-Enter and Shift-Ctrl-Enter
[sublime keymap] Clean up ctrl-enter patch, add tests

Issue #2354
[sublime keymap] Added new bindings and corrected swaplines

"Shift-Ctrl-K"            Delete line
"Ctrl-K Ctrl-K"           Delete line to right
"Ctrl-K Ctrl-Backspace"   Delete line to left
Swapline                  scrolls with the cursor
[sublime keymap] Fix formatting, delLineRight binding

Issue #2354
[css mode] Add nonStandardPropertyKeywords list

And style them differently from unknown properties.

Issue #2356
Mark 4.0 release candidate 2