Add Editor.with_position_restored(f)

Invokes f with self, restores position afterwards.
Add Editor.indent_all()

Re-indents all lines in a buffer.
Add vc-diff and vc-diff-file commands

Implemented only for Git now of course ,that being the only
VC implementation currently.
Redo lexing start calculation

The previous one didn't work that well, as discovered when doing
some lexing for ruby heredocs with interpolation. As well, as the
new one not only seemingly works better but is much simpler.

New heuristic: If a newline is styled with anything but whitespace,
we're in a chunk of something.