Workaround for a wrong bundle index

This is work in progress, the reason why the situation arise has not yet been found and there are likely other ways in which the index can be wrong/stale (based on user reports like issue #998).
Avoid passing -1 (as fd) to kevent() and close()

Observing paths will normally fail when opening files that only privileged users can read.
Fix retain cycle

Fixes #1009.
Support “Find Previous” in macros
Apply injections from child rules without match pattern

This is useful when including a grammar and its injections needs to be applied.
Don't add files from find window to recent list
Fix async mode for TextMate.system (JS bridge)

In commit 03aea09148dc4fd370e1ede0daaee8f1dff0adf9 we switched to properties for the mapped instance variables which meant they all got an underscore prefix and wasn’t seen from JavaScript.
Update text in “TextMate is outdated” dialog

Several users confused this with TextMate expiring because of a missing license key.
Enable "Inspect Element" in web preview
Revert "Apply injections from child rules without match pattern"

This reverts commit fc419f5332a25e3b4249684446f0c66270d1075b.
Checkin release notes
Use symbolic name for REST API URL
Fix exception when finding all in untitled documents

Untitled documents have no path, so we were creating a dictionary with a nil object. The path isn’t actually used (we go via the identifier) so removing the potential path from the dictionary avoids the problem.
Make labels right-aligned by default
Reformat and justify was broken for multi-paragraph input

Fixes #1021.
Improve code to find license key
Allow user to “add license” in About → Registration
Remove keychain argument

The new (non-deprecated) API no longer allows us to target a specific keychain for add, remove, and lookup.

This wasn’t used by TextMate itself but was extremely useful for writing tests against the API (using temporary keychains).
Stopping long lived TextMate.system() executions would crash
Update dialog text