small tweaks
fixes #108, #110 (GH): improve single Esc key binding to change modes
fixes #109 (GH): unify transition to next mode in failed and successful commands
fixes #107: vi_cmd_data must become a class
abstract away context checking
fixes #20: add shift+r (replace mode)
fix #115 and #116: insert operations are glued together and then treated as a unit by "."
fixes #120 (GH): B must keep .end() at a fixed position
fixes #117 (GH): implement visual mode for H, L, M
fixes #113: improve the J command
clean up
add more tests for settings.py
fixes #121: add tests for registers.py
more register tests
fixes #112: e should not stop at eol if \n is preceded by whitespace
fixes 102: d should not move the caret after the operation
fixes #122: improve H, L, M in visual mode
fixes #51: implement ctrl+R
fixes #68: improve caret position on exit when using y
remove whitespace