[closebrackets addon] Add more refined heuristics for when to close quote characters

Looks at token types to determine whether the quote would actually open a string

Issue #2657
[searchcursor addon] Fix reverse case-insensitive searching for multiline strings
[mode/meta.js] Map application/javascript to javascript mode
Kotlin mode
[kotlin mode] Integrate

Issue #2678
[multi-editor operations] Set up operation grouping

Now nested operations from different editors end at the same time
[multi-editor operations] Fire delayed events before the operation ends
Run operations cautiously again in highlightWorker
Don't wrap onKeyUp in an operation

It doesn't need it
[multi-editor operations] Split actions at op end into steps, call in order
[multi-editor operations] Add a few tests
Work around IE10- client rect + zoom issue

Issue #2665
[ruby mode] Better heuristic for distinguishing division from regexps
Handle altGr in early return from onKeyPress

Issue #2671
[vim] reselectSelection for visualBlock
Fix broken double-checking of display coverage

Both a potential infinite loop, due to updateDisplayIfNeeded not using
the updated set of visibile lines, and the fact that the current check
wasn't really covering changing document size, due to it happening before
the call to setDocumentHeight

Issue #2683
[vbscript mode] Fixed "Cannot read property 'substr' of null"

Error occurs when entering multiple dots
[vim] Add features list to demo page