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.
Fix the setting startup issue

Users discovered a bug in my implementation of start up logic.  Vs 2010
and 2012 differ in when the apply settings to the IEditorOptions.  I had
primarily done my testing on Vs 2010 and hence missed the 2012 cases.
This fixes the discrepancy.
Moved cursor synchronization to VimCore
Automatic setting synchronization is opt out again

The default is once again to automatically synchronize settings.  Need
some explicit tests for this.  A few implicit ones but they need to be
made explicit
Removed unneeded interfaces
Unit test for startup settings
Strengthened the Memory Leak Tests
Released 1.3.3 Patch 1
Fix "r" bug in HTML pages

This fixes the exception that occured when using 'r' to change tag names
in HTML pages.  The HTML document code is doing compensating edits to
keep the tag names in sync.  This happens after the edit by 'r' and
hence the buffer version was ahead of where VsVim expected it to be.

To fix this we no longer use the ITextSnapshot returned by Replace.
Instead query the ITextBuffer for the current ITextSnapshot.  This value
is then used to set the caret position.

closes #1040
Merged staging into master
Support for if statements

Added support for if statements in the syntax processor
Basic support for autocmd parsing / running

This adds very basic support for the parsing and running of 'autocmd'.
It doesn't support actually running the command when the event happens
yet.  Just getting it onto the list
End to End 'autocmd' support

Have some very basic end to end autocmd support working.  The
implementation is very raw and untested.  Lots of work to do but end to
end scenario is running
Dependency work

Rearranged the types in the project such that I could more freely use
interpreter types in the core interfaces.  This is a necessary first
step to allowing easier access to the interpters from the IVimBuffer
which owns them
Refactoring of interpreter to an interface
Fixed up a unit test failure
Fixed up some parser issues
Parser support for remaining event kinds

Added parser support for the remaining auto group event kinds.  Parsing
should work even if we don't support the actual events.  This gives us
the maximum coverage on autocmd defined in vimrc files