Improve constraint widths for status bar.

- Set compression priorities to collapse fields in a desirable order.
- Increase default width of selection string to fit 8888:88
- Set grammar popup to the width of the active grammar and give is sensible minimum/maximum widths.
- Set a maximum width for the tab size menu.
Don’t unnecessarily retain scm::ng::info_ptr

This ensures that when an scm::ng::info_ptr object has been disposed by the user, the associated callback will not be called (as no-one else will keep it retained).
Better hiding of scm::ng::info_t implementation
Remove “crash guard”

This should no longer be possible now that the callback won’t be called after the scm info has been destroyed.

This reverts fce82f07597314cb979d3f56b5c26a1b0fc4e717.
Handle linking to directories in HTML output

We now check for an ‘index.html’ when a file:-link points to a directory. If no such file exist then we show the “Not Found” error page.

This is to work with offline docs that doesn’t include the ‘index.html’ in the URL.
Fix new selected item after delete
OakFileManagerDirectoryKey → OakFileManagerPathKey

This allows us to use the same key for more than just directories. The notification name itself should indicate if the ‘path’ refers only to directories or files.
Post OakFileManagerWillDeleteItemAtPath
Close files deleted via file browser

Files with changes are kept open and only files deleted via file browser actually close. It’ll make sense to also close files which are “moved to trash” (but want to do some refactoring before adding that).

Closes #512.
Show human readable version string

This is instead of only showing the revision, which lack semantic info such as ‘alpha’ and 2.0 versus 1.5.11.

We now also show the version after a successful download instead of just “Download Completed”.
Add swiping gesture support for 10.8

I am not sure what Apple’s thinking is here. We have swipeWithEvent: which worked on 10.7 but seems to no longer work, yet there is a global preference for configuring a swipe gesture and Safari supports that config option, but it appears other apps have to role their own implementation.
Remove last zero in version 2.0.0 → 2.0
Add directoryForNewItems property to file browser
Add API for starting edit of item in file browser
Reject custom project directory if not an absolute path
Update file browser when a document changes path

This is required incase the file is open, as we then want the new path to show the close button.
Only set CWD for root section

The bracketed sections inherit from the root section, so there is no need to set this variable for each.
Introduce TM_PROPERTIES_PATH

This will be a colon-separated list of the .tm_properties files sourced for the current context. Mainly for debug purposes but could be used for an “Edit Properties…” command that show existing files (without having to scan the disk).
Add file manager support for ‘new file’
Add ‘New Document’ to file browser

This create a new file on disk and brings up the “rename” text field.

You can control the type/extension either in Preferences → New document type or by setting it in .tm_properties, e.g.:

    [ attr.untitled ]
    fileType = 'source.objc++'

New Document can be undone, but it is handled by deleting the file on disk and losing potential edits you have made since creating it.

Closes #161.