Make sure doc.scrollTop is accurate post-display-update

Closes #1351
Improve closebrackets.js addon

- Do not insert closing bracket if a spacechar or closing bracket
  follows cursor
- Do not handle backspace if selection is not empty
- Do not overwrite anything if selection is not empty
- If selection is not empty and open bracket is inserted - surround
  selection with brackets.
Revise patch 50621941b536805b2c62cb0fb5e1bc8a98e8877d

The previous solution broke test doc_docKeepsScroll.
[placeholder addon] Fix corner case
Revert "Make the default by-word movement stop at word boundaries, rather than word end"

This reverts commit dd919a2bcf93a59b2ab28aa766c50fe6e5d9d239.
By-word movement change, take 2: count groups of punctuation as words

Adds goGroupLeft/Right, delGroupLeft/Right as alternative to word-based
motion/deletion. Binds ctrl-left/right/del/backspace to these commands.

Also makes word and group-based motion stop at line boundaries.
Add tests for by-group motion
Add a removed property to the info passed to change event handlers

Issue #1358
Add test for change.removed property
Pass change event to line handle's change handlers
Make sure change objects passed to doc and line objs also have removed prop
Add xq-light theme
Add .tern-* to .gitignore
[lint addon] Support onUpdateLinting callback
[javascript-lint addon] Make it possible to pass options to JSHint
Mistake in patch 0a8b204d70ff3a2d0dde80d814cf56a5e139e5b2
[folding addon] Rewrite tagRangeFinder

Closes #1360
[vim] Make search highlighting respect ^ (start of line)
[searchcursor addon] Fix reverse searching of regexps

Closes #1364
Added syntax highlighting for Math modes