Fix unused imports, javadoc.
Fix `gv` selection restore by using marks.

Modifying the text using indentation shifting would throw off our
"last active selection" field as that is based on absolute positions.
Instead update the selection based on the "last active selection
start/end" mark which should follow any changes in the input text.

This doesn't work while running tests (the TestCursorAndSelection class
does not store any marks), so testing `gv` is hard to do.

Fixes #371.
Make sure to shift all lines of selection.

A special rule is present to exclude the last line if it is whitespace,
but that rule only checked the selected part. If the user selected only
the indentation of the last line, this check would fail and the last
line wouldn't be indented, even though there's text in it.

Fixes #346.
Test for shiftwidth on partially selected lines.
Add test for visual 't' motion.

This failed in an older version of Vrapper, write a test to keep
checking this.