Track last copied text, in order to find selection boundaries on paste

Issue #2697
Remove unused extra argument to computeSelAfterChange
[javascript mode] Indent properly in case of function arg in wrapped arg list
Disable replace for readOnly content

Disable the `replace()` when the selected `CodeMirror` is `readOnly`.
[vim] visual block replace
[vim] changeCase for blockwise visual
[vim] using dot to replay actions and operators