Alter #251: Added visual command and fixed blockwise case.

Given the operation handles all selection cases itself there is no need in
the selection wrapper.
Alter #251: rewrite TextOperation as a command.

Code was originally written as a TextOperation implementation so that
it could be passed to SelectionBasedTextOperationCommand. Comments on
the issue and the previous commit of igrekster have shown that this way
introduces errors for "surround block" mode.

This commit merges the `VisualCommand` class and
`AddDelimiterToSelectionOperation` so that the code stays in one spot.
Alter #251: rename "surround operation" to command

It's no longer any use to keep the word "Operation" in the class name.
Keep dynamic delimiter similar to surround.vim 2.0

Surround 2.0 has no repeat for the "surround selection" modes but it
does have one for the regular commands. If the regular commands are
repeated, the script won't ask again for a replacement delimiter. In
version 1.90, it always asked again.

The code for dynamic delimiters was still based on v1.90, now Vrapper
will remember the last-used delimiter.