Fix vim shift insertion point in any mode

When using > or <, vim puts the cursor at the first non blank character of
the first shifted line, just do that.

Adapt tests, in particular add a test to check that undo goes back to the
right position.
Merge commit 'ab6691e' into develop

* commit 'ab6691e':
  Fix vim shift insertion point in any mode