Abstracted out the window management
Added the host implementation of :e command

It is now possible to open files with the :e command.  The :split
command appears broken but that seems unrelated to this.
Fixed the :split command

The building up of the Content portion of the TabItem wasn't first
clearing the previous content.  This meant that the
IWpfTextViewHost.Control value still had a logical parent and hence
adding it to the new grid was causing an exception .
Added window navigation support to the host application
Changed quick fix API to return a bool

In the current implementation there was no way to report failure.  It
now reports with a bool
Added gt, gT and the like support to VimApp

This changed added support for the tabbing APIs to VimApp.  As part of
this change all of the vim logic around tab indexes and wrapping counts
was moved into VimCore.  The host now just has to implement some very
simple non-vim specific APIs.
Fix exception in PasteAdornment

The paste adornment implementation was querying certain properties of
the caret.  These properties all throw if the caret is off of the
screen.  This was resulting in an unhandled exception in certain
scenarios.  In particular if you did <C-R> from insert and then scrolled
the caret off the screen.  Simply catch the exception if it happens and
note that the adornment is not displayed

closes #1206
:close now functions

The :close command now correctly removes the split view.
Add KeyRemapMode.None

Previously KeyRemapMode was being represented as both an enum like value
and an option.  When working on some other fixes it made more sense to
simply represent this as an enum.  Hence I added the None option to the
discriminated union and fixed up the resulting code changes.

The result is much cleaner in the majority of places.  The one place it
produced less explicit code is in VimBuffer::ProcessCore.  Here is the
one case where we special case the lack of a KeyRemapMode.  Instead of
considering the results to be mapped we process one key and hope that
processing it results in new KeyRemapMode value
Restore normal mapping after register

Normal mode mapping was not being considered after the register value
was entered.  Instead it was remaining at none.  This meant that no
normal (nmap) mappings were being considered in combination with a
register.  This fixes the bug for both normal and visual mode

closes #1203
Unit tests run in 2013 only install

This change updates to the new version of EditorUtils which supports
2013 only installations.  This fixed the running of unit tests in 2013
Fix Ctrl-Y and Ctrl-E to not scroll the caret

The Ctrl-Y and Ctrl-E commands should not be scrolling the caret but
instead scrolling the window.  The only time they should move the caret
is when the window scroll causes the caret to become invisible.  If that
occurs then the caret should be moved back into the visible portion of
the ITextView (while maintaining the caret column)

closes #1202
Added Solution Explorer to the important scopes

In Visual Studio 2013 several conflicting key bindings were added to the
"Solution Explorer" key binding scope.  Previously VsVim had only been
searching the "Global" and "Text Editor" scopes.  Adding this new scope
allowed us to find and remove the new conflicting key bindings

closes #1193
CommandKeyBinding not equatable
Removed duplicate entries from conflicting key dialog

Visual Studio often associates several key strokes with a single
command.  If multiple of the key strokes conflicted with VsVim then the
command would be listed multiple times in the dialog when the "Visual
Studio" drop down was clicked.  This changes it to only list unique
names
Better removal of key bindings

Unfortunately commands like SolutionExplorer.OpenFileFilters just don't
want to relinquish their key bindings.  You have to ask them to remove
the key bindings twice else it will only remove part of them.  So
frustrating

Related to #1193
Merge remote-tracking branch 'mikhail-m1/master' into fixes-manual-merge
Minor cleanup on patch

Needed to fix a couple failing unit tests and build warnings.  Also made
the past operation much more direct.  In the previous version 'paste'
was implemented by asking vim to run the keystroke 'P'.  This would fail
to paste if the user had previously mapped 'P' to another key and it
could also potentially mess up a current recording session for macros.
Instead i exposed the ICommandUtil interface and just ran paste
directly.