Add bundle item setting for how to re-use output windows

This presently does not have any effect.
New (native) commit window

This is based heavily on the previous commit window code base. It replaces
the NSTextView with a OakTextView for entering the commit message. To take
advantage of the git grammar features. E.g., fixup!.

If other SCM bundles are updated in the future to include any specific grammars,
these can be used in the commit window by setting the bundle grammar to
"text.SCM-commit", where SCM could be hg or svn for example.

One change to note is that the row buttons for the "--diff-cmd" and "--action-cmd"
commands are now implemented as a contextual menu. If commands are not available
for a particular file the menu items will be disabled. Similarly, the ability to
select/deselect files to commit is now in the same menu.
Export TM_SCM_NAME variable

We use this to set the appropriate grammar when launching the commit window.
Use proper method to load bundle index
Set a default font for OakTextView

OakTextView reads the user chosen font in its initialize method which is called before awakeFromNib. As a temporary workaround we manually set a font.
Enable new commit window
Refactor: Collecting output windows moved to own method
Handle output window re-use options for commands