[closetag addon] Scan forward in document to look for existing closing tag

Issue #2025
[python mode] Add support for hanging indent
[comment addon] Test token type when uncommenting

To make sure it isn't seeing comments that are actually
strings.

Issue #1975
Use phantomjs from npm
[markdown] Option to highlight formatting characters separately
[activeline addon] Fix typo
Remove executable flag from some mode scripts

Closes #2037
[real-world uses] Add kodtest

And update Light Table link
[real-world uses] Fix stray character
Properly implement overlapping collapsed span restriction
Make vertical motion collapse selection when one exists

Closes #2042
[r mode] Fix bad post-'else if' indentation.
Use separate node for forcing cursor to be scrolled into view

Using the cursor itself was awkward already, but turns out to
also have strange effects (it was somehow treated as having height: 0
in some situations, by all browsers).
In indentLine, clear empty lines when aggressive is false
Use inner mode's electricChars property

Also moves handling of electricChars to readInput, removing
the timeout kludge.

Issue #2029
Work around scrollIntoView/negative margin interaction
Revise algorithm for detecting overlapping ranges
Improve helper system

Add getHelpers and registerGlobalHelper, allow modes to specify arrays
of helper names, support modeProps in mode specifications.

Update foldcode and show-hint to make use of more powerful helper
system by defining an `auto` helper that tries multiple helpers, and
using that as default.
[css mode] Refactor, step 1 (tokenizer)
[css mode] Refactor, step 2 (state machine)