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
Parser support for multiple patterns
BufWinEnter and BufWinLeave events
Support for removing auto command values
More BufEnter, BufLeave support

Now that we have a more reliable way of detecting when the active frame
changes in Visual Studio we can better support the BufEnter and BufLeave
commands