[dialog addon] Add kludge for IE focus bug

Issue #2191
[markdown mode] Rename `header2` -> `header-2`

and `formatting-header4` -> `formatting-header-4` for consistency.
[julia mode] Various improvements
[vim] fix Ctrl-[ (escape) shortcut for visual mode
use correct classes for headers

The header classes for specific levels of headers, which should set the size of each header did not match the classes in the editor. This commit fixes that.
[show-hint addon] Don't cover cursor when taking up full screen height

Closes #2213
expose full completion data to extraKeys in show hints.
Fix another case of bootstrap blues

(Border-sizing on the CodeMirror-linenumber class)

Issue #2210
[runmode addon] Fixed resolveMode in runmode.node

This fix has been modelled after the getMode function in runmode.node in
v3.20.0
[source-highlight script] Fix bug in HTML-escaping
[rst mode] Fix innerMode and copyState

Issue #2221
[rst mode] Swap mode definitions

So that the default mode when this is loaded first is actually a
working mode.

Also: indent the file to correspond to the rest of the codebase.

Closes #2223
[rst mode] Fix demo

Issue #2223
[vim] Make text objects work with },), and ].

Previously commands like da<object> only worked with the opening side of the
pair, so you could do da{ but not da}.

I also removed some duplication of calls to selectCompanionObject (at the cost
of switching from map lookup to an if-else chain).
[real-world uses] Add i-MOS
[rst mode] Fix creating of start states

So that it doesn't error when inner modes are missing.

Issue #2224
[anyword-hint addon] Fix variable clash

Closes #2225
Ensure that indentLine resets a line's stateAfter

So that calling it on a block in sequence won't get stuck with an
outdated state after lines whose indentation doesn't change.

Closes #2227
allow completion to have an independant from/to range
[vim] Make unescaping for strings a bit cleaner and more general.

adds escaping for '|' to bridge a difference between javascript and
vim regex flavors.

take the escaping a little lower level so that it affects '/' searches
as well, not just '%s/<regex>/<replacement>' searches.