Updated gitignore
Cleaned up the hosting api slightly for focus movement
Added IVim.GetOrCreateVimBufferForHost

This method is necessary because the MEF component startup order is
undefined.  It just so happens today that Visual Studio will startup the
main host in such a way that it creates the IVimBuffer before the main
ITagger implementations are created.  Hence it's there for them to see.

This is not guaranteed though.  It's very possible for the ITagger
implementations to be created first.  In that case if they used
IVim.GetVimBuffer they wouldn't see an IVimBuffer and wouldn't be
created.

This API is a middle ground.  It lets the IVimHost decide if an
ITextView is elligable for an IVimBuffer and removes the ordering
issues.
Created new user settings type

This created the new user settings storage type,
IVimApplicationSettings, which has the appropriate API to replace the
old ILegacySettings type.  Has the same functionality at this point but
lacks the migration code from the old settings.
Swapped in the new settings store

Swapped in the new settings store in place of the old one
Fixed settings implementation

Fixed the settings implementation to properly check that the setting
exists before using and to report any exceptions that it gets.  The
check is unfortunate but necessary to prevent exceptions from happening
in common scenarios.
Implemented the settings migration code
Fixed up the unit tests

There were a few minor breaks with the new interface that needed to be
cleaned up.
Disabled mode now applies to newly opened files

The disabled mode feature (Ctrl+Shift+F12) now applies to files which
are opened after the command is run.  Previously it only applied to the
set of files which were open when it was run.

closes #929
Inconsistent spacing in get, set declaration
Bring code up to coding conventions

Bring some older code up to current conventions
Removed a bit of redundant info in Settings

SettingValue can now provide it's kind without unnecessary calculation
Fixed RequireQualifiedAccess usage

Several unions lacked the attribute that is used, by convention, on all
discriminated unions in the code base
Cleaned up some names

Now that RequireQualifiedAccess is used there is no need to postfix the
names with Value and Kind
Tightened up the way default values are handled
Added the 'path' and 'cdpath' settings

This adds support for the 'path' and 'cdpath' options.  These options
are simply present at the moment.  No existing functionality takes
advantage of them at the moment. This is a necassary building block for
other features.
<Leader> replacement should be case insensitive

The <Leader> replacement was incorrectly doing case sensitive
replacement instead of case insensitive replacement.

closes #860
Removed UseEditorSettings

The UseEditorSettings option was an ancient option that I added when my
support of Vim settings and synchronization with the editor was
extremely poor.  It was a way to opt out of my bad behavior.

Now the settings support is much better.  Instead of this option we use
the presence or abscence of the VimRC file to determine if VsVim or
Visual Studio settings should win
Minor refactor of tests
Fixed delete inner quote bug

The quoted string code wasn't properly handling the case where the caret
was positioned on a quote character.  Changed it match the vim logic

closes #960