Unit tests for issue 1136

This adds the basic unit tests for #1136.  The core problem appears to
be that we are tracking the repeated block edits as normal edits and not
a different command.  Hence it repeats as a simple edit instead of a
block edit.  Likely need a new InsertCommand for this to work
Removed dead code

Deleted some commented out code left over from a previous refactor
Implement block insert repeat

This implements the bulk of the work for issue #1136.  Block insert
repeat is now functional.  I still need to do some cleanup on the
implementation though.  But the functionality is there now
Cleaned up the code

This cleans up the code around block insert repeat.  It no longer uses
TextChange but instead a simple string value.  This is more
representative of what is legal for a block insert because TextChange
can mean delete or add while string shows just what is added

closes #1136
Fixed a parser unit test failure

The parser unit tests weren't catching an :elseif after an :else command
Merge pull request #1140 from jaredpar/fixes-1136

Fixes 1136
Firmed up the initialization of modes
Merge remote-tracking branch 'origin/master' into fixes-edit

Conflicts:
	Test/VimWpfTest/CommandMarginControllerTest.cs
Cleaned up the integration, all tests now passing