[vim keymap] Fixups for repeat insert mode changes

Cleans a lot of insert mode record/replay code.
Adds support for o and O.
Adds unit tests and fixes a lot of corner cases.
Fixes cw deleting trailing whitespace.
[vim keymap] Add support for insert mode repeat