Fix bug that caused width computation to happen for every operation
Fix problem caused by ordering of scroll width measurement and width adjustment

Closes #2730
Fix initialization problem introduced by 2f14f52e24b35
Another fix to the width measuring kludge
[closetag addon] Reindent line when a tag is closed by /

Issue #2735
[clojure mode] Fix null dereference bug
Sanitize scrolling code, make it deal with being asked to show rect larger than view

Issue #2736
Scroll correct positions into view after undo/redo

Issue #2736
[xml-fold addon] Make doMatchTags also return info about self-closing tags

This way, the matchtags addon highlights them the same as normal tags.

Closes #2737
Also update line heights from updateDisplaySimple

Issue #2726
[real-world uses] Add IPython
[vim] replay change for blockwise visual
[vim] remove visualBlock check in exitVisualMode
[vim] Removed defunct comment.

@mightyguava fixed this issue in https://github.com/marijnh/CodeMirror/commit/45fe0a109d02f682ee435a4093843d5124cf95b9
Fix gutter width compensation in calculateScrollPos

Issue #2745
Less fragile way to deal with updating the scrollbar during editor width changes

Issue #2745
[vim] blockwise paste