auto-indent: check the iteration character for match

We were checking the input character, which would never change. Make sure
we match against the iter position.
vim: make move_line_start() act closer to VIM

This uses the line content and context of command to determine if we
are allowed to go forwards when searching for the first non-whitespace
character. Ctrl+U cannot, but Shift+I can (for example).