Remove hardcoded shortcuts from keyDown:

These keys are also in the menu so no need to special-case them (unlike the other keys handled).
Auto-enable Back / Forward menu items
Reset mouse hover state when leaving view

The close buttons in the file browser could be stuck on their “hover” state if quickly moving mouse outside the bounds of the outline view.
When a file is selected, save folder defaults to its parent

This is only when saving untitled documents.

Closes #748.
Disallow selecting group cells in file browser

Group cells are presently only used for the SCM status data source.
Closing file chooser disposes its documents

Previously it would hold onto the documents shown, which is not only wasteful, but could mean that it would retain a no longer used untitled document (and thus occupying an untitled document counter).
Show source in file chooser title
Use system icons for Open With menu

Previously we used our own icon image class which support SCM status, custom images for known file types, and more. This is however is unnecessary, as we know the Open With menu contains only applications, and each should use their standard icon.

This should also fix issue #510, although the issue was never diagnosed beyond git stalling while trying to get SCM status for the application icons in this menu.
File icon images now default to ‘existing’
Don’t use automatic storage in threaded code
Only set TM_SCM_BRANCH when there is a branch
Introduce scm::ng::root_for_path

Also change SCM implementation so that it doesn’t use objects with automatic storage, as the objects may be accessed from threads, which may run after objects with automatic storage has been destroyed.
Add SCM API for disabling updates

This is to be used when the application is in the background. Rather than completely disable updates, it might perhaps be better simply to increase the delay used to throttle updates.
Remove the AppStartup delegate

This temporary delegate was primarily used to ensure no message “slipped through” back when a license key was mandatory to run the alpha.
Disable SCM status when app is inactive
mate: disable untitled document via user defaults

This is instead of setting an environment variable. Since there already is a user defaults setting for whether or not we want an untitled document created at startup, it seems nicer to have mate set that, instead of effectively introducing an alias for the setting.
mate: don’t disable untitled document when called w/o files
Check version of installed mate in background
Rework about window

We now perform the content hash (to see if release notes have changed) on a background thread.
Move instance variables to implementation