Create ICommandTarget interface

ICommandTarget will eventually be the plugin point for handling
IOleCommandTarget commands within VsVim.  This step just adds the
interface and factors the relevant code out of VsCommandTarget
Factored out the ReSharper logic into a separate ICommandTarget
Rename of the ReSharper command targets
Remove all R# references from StandardCommandTarget
Cleanup

Fix up some names and remove unneeded fields from the targets
Build fix
Fixed the failing unit tests

Fixed up the unit test to verify the new solution is acceptable.  Very
happy with the results.  Going to push to make this the official model
Resolved majority of TODO values
Switched to a MEF based solution

Fully abstracted out the items to a MEF based solution.  This means I
can completely move the R# code into the R# namespace as a next step.
This will make it 100% plugin based instead of hard coded into the core
vim logic
Updated the code position

Separated out all of the code into the appropriate files.  Now that it
is MEF based it no longer needed to be in the same files and could be
separated out to the appropriate locations in the code
ReSharper now self contained
Moved ReSharper Key handling to single type
Removed the KeyDown handling

All of the commands we are trying to intercept are bound to VS commands.
This means they are handled in PreProcessMessage and never even make it
to the "down" side of key events.  This code was never meaningfully hit.

There is some up side to looking at key "up" events though.  VS doesn't
handle these in it's pre-processing layer and hence we would see them.
Future changes may do this
Ensure we leave insert mode when Esc pressed