vim: abstract operation execution so we can parse them ahead of time.

This makes it easier to check to see if input text into the command bar
will result in anything being executed by vim mode.
vim: make operation not need an instance.
commands: query providers to create a command instance

If no command was found, let a provider attempt to create one.
commands: add provider to execute vim commands via command bar