Don't open revisions in TextMate asynchronously

Previously, we would wait on TextMate to close before cleaning up the temporary file; however, we may want to avoid this since in the future TextMate may be able kill the process (before closing) and therefore leave behind the file. Also, let's use `TextMate.detach` instead of just `fork` to ensure we detach.

This resolves an issue reported on the TextMate mailing list (http://lists.macromates.com/textmate/2014-September/037756.html).
Merge remote-tracking branch 'textmate/master'