Add note about JSHint/Lint to CONTRIBUTING.md
[vim] visual block yank

Also updated select block to return selectionStart.
Operators from now on will stop using curStart and curEnd, and rely on the current selection instead. The selection will be generated in evalInput if needed.
[vim] Separate yank and yank visual block tests
[smartymixed mode] Fix regexp escaping

Issue #2659
Move update of delayedCallbackDepth to start of endOperation

To make it less likely that an error will corrupt its value and
break all further signalLater events.

Issue #2626