Refactor entering/leaving insert mode
Refactor mode changing slightly
Merge branch 'master' into undo-typing
Merge branch 'master' into undo-typing
Merge branch 'master' into undo-typing
WIP, revert me
Merge branch 'master' into undo-typing
It works, but it's not tested.
Remove some debugging cruft
Merge branch 'master' into undo-typing

Conflicts:
	lib/operators/general-operators.coffee
	lib/vim-state.coffee
	spec/vim-state-spec.coffee
Clean up tests a bit, even if they're still not working
Break out Input into its own file
Pending failing test
Fix effective merge error
Remove unneeded extra start transaction
Fix some silly copypasta
Make ciw undoable. once.
Merge branch 'master' into undo-typing
Repeatable ciw
:books: