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 appropiate grammar when launching the commit window.
Refactor to reduce some code duplication
Explictly close document_ptr

By not closing the document after committing or cancelling, we would leave lingering backups in the Application Support folder.
Remove unnecessary keywords for @property
Always set "state" for TM_SELECTED_FILES to YES
Use Auto layout

Initial changes to build the commit window with Autolayout. Also, move the responsibility of launching the commit window app out of the CommitWindow class and into "AppDelegate". These changes will make it easier to eventually run natively within Textmate.