Add new SCM API

This won’t perform any disk access on main thread. The previous API would check for the SCM-metadata directories on the main thread and also obtain the initial status and branch during creation.
SCM API: Update file chooser
SCM API: Update SCM data source
Limit disk access done by DocumentController
Remove SCM variables from document_t
Remove SCM variables from file::variables
Add (async) scope attribute collecting to DocumentController

This is for attr.project.XXX and attr.scm.XXX, although the latter is also provided by scm::info_t.

With this commit, the file::path_attributes function no longer collect this information.
Link all .o files into TextMate

This way we don’t need to copy the frameworks to the TextMate app bundle.
Redirect output to ~/Library/Logs/TextMate.log

Hesitant to not use the platform’s logging system (asl), but a simple log file is much simpler, especially when we want users to send us potential debug output.