[cypher mode] Add 'fieldterminator' keyword.
[vim] exCommand History Implementation
[javascript mode] Highlight keywords used as props in object literals as properties

Closes #2619
[vim] :global excommand implementation
[vim] modified substitute to use splitBySlash, checked corner cases
[javascript mode] Fix parsing of ES6 class bodies

Issue #2622
Check for line-wide class changes in highlightWorker

Issue #2624
[vim] Asynchronous confirm for :global when the confirm option is specified.
Be more https friendly
[css mode] Fix unescaped meta char in regex

It's intended to match a literal `{`, but that must be escaped as it's
a meta character in JS regex.
[vim] Add support for global flag in :substitute
[vim] Disable default /g for :substitute
[vim] Update vim visual mode selection to match CodeMirror selection

Remove off-by-one in vim when head is further forward in the document than the anchor, where vim's selection becomes 1 less than CodeMirror's. This was originally done because the cursor showed past the anchor and looked like an additional character selection.
[vim] Update LastHPos in visual only if not infinity
[vim] Added CSS3 animated fat cursor
[vim] Polish css3 animated fat cursor
[vim] Fix visual mode mouse bugs
[vim] Fix a few tests
[paste] Fix #2384 and #1883

As described in the comment, there was actually an intermediate selection being created, which clobbered the middle-click paste buffer and thus resulted in a $ being pasted instead of the actual content the user wanted. It's still a mystery why you couldn't repro it, but my guess is that due to some configuration (maybe in your window manager) your system wasn't updating the paste buffer as eagerly as Debian and Unity do by default.
[vim keymap] Remove unused function to please linter