[vim keymap] Repeat insert changes for A,I,a,i,caw,ciw

This pull request is a break down from #1535.
It enables insert mode text changes to be repeated by `.`

So far it supports `A`,`I`,`a`,`i`,`caw` and `ciw`.
Support for `o` and `O` is yet to be implemented. (Should be easily done by changing some code structure)