commands: add GbCommandProvider API.
commands: add GbCommandManager

This will provide the interface for querying providers for a GAction
from the command text.
commands: start on gaction command provider.
commands: include gi18n.h
commands: some work on gaction command execution.

We can't do this as good as I'd like yet, do to some missing API in Gtk.
But we'll get there eventually.

Additionally, it will require prefixes right now, which I'd like to avoid
in the future if possible so we can do "save" instead of "editor.save".
change-monitor: add trailing newline if necessary

GtkSourceBuffer has a feature called implicit-trailing-newline that
will automatically hide the trailing newline from documents. This is
especially useful in .c or .h documents. However, it breaks the change
monitor making it think the trailing newline has been removed.

This simply adds that newline back to the document to its original form
if that feature is enabled.
auto-indent: only format params if more than 1

No sense in formatting parmameters that are just a single item.
Easier to just leave it be since they will never match up with the
surrounding functions in a header anyway.
commands: move workspace and active tab to GbCommandProvider

This refactors the workspace and active-tab properties into the
base class, GbCommandProvider. They are likely to be needed by
most providers, so might as well track things there.
commands: add a vim command provider

This adds a provider that will check to see if the command is a VIM
command and then dispatch it to the GbEditorVim of the active tab.

It should only complete if vim-mode is enabled.
commands: add commandmanager to GbWorkbench.
commands: fix return type
commands: refactor to use GbCommand again.

We wrap GAction in the command. Vim gets a native command.
commands: add command-bar and command-bar-item.
commands: wire up command bar
commands: try harder to locate a named GAction.

This still *really* needs new API in Gtk+ to be able to resolve an action
in the same way that gtkactionhelper does (using the muxer and whatnot).
commands: use command-bar for VIM command entry.

This finally unifies all the command-bar/vim-command-entry work.

Yay!