Visual block overhaul

This is a combination of 4 commits.
The first commit's message is:
Fix visual block selection not working on last characters of a line.

This is the 2nd commit message:

VIM-781 Fix visual selection not extendable past empty lines

IDEA's block selection crops empty selections out, so an explicit caret
move is required.

This is the 3rd commit message:

Fix newlines getting deleted in visual block mode.

This is the 4th commit message: