Fix scrollbar-dragging on Chrome 34 Mac

Issue #2326
Fix breaking of horizontal scrollbar by a12b1741ba819e52c49bd62ab0e68979dd67492a

Issue #2326
[vim] Refactor macro handling

Use CreateInsertModeChanges to make a copy of the latest
insert mode changes in pushInsertModeChanges so that the
latest insert mode changes can safely be modified without
bashing previously recorded macros.

Fix the :register command and add unit tests. Add a fakeOpenNotification for matching the notification text.
[vim] Fix :registers unit tests
Restore redo selection history clearing when adding a selection to history

Issue #2305
[merge addon] Add leftChunks and rightChunks methods

Issue #2334
[sql mode] Added support for Hive
Better heuristic for inverting ranges in normalizeSelection
[sublime keymap] Add support for shift-alt-up/down
[sublime keymap] Fix coding style in 8eb523db08b80b0ff70728d9b71475cadb2bcf93

Also, wrap the command in an operation and use the head rather than
the anchor of the selections.
[sublime keymap] Fix shift-ctrl-d binding

It should duplicate for every selection, and for non-empty selections
only duplicate the selected text.
[sublime keymap] Add test for duplicateLineSelection
[complete demo] Enable global variable tracking for JavaScript mode
Merge branch 'master' into v4

Conflicts:
	lib/codemirror.js
Tag 4.0 release candidate 1
Mention module loaders in upgrade_v4.html
[lint addon] Fix tooltips when page is scrolled