Read environment variable whitelist from user defaults

This is read using the ‘environmentWhitelist’ key and the value should be a colon-separated list of variables that should be inherited from TextMate’s parent process. If the variable includes an asterisk then it is matched as a glob.

Example:

    defaults write com.macromates.TextMate.preview environmentWhitelist '$default:MANPATH:*EDITOR'

Here ‘$default’ will expand to TextMate’s default whitelist.

Normally TextMate will setup HOME, PATH, TMPDIR, LOGNAME, and USER. If you whitelist any of these, then the variable (if set) will instead be inherited from the parent process.

Closes #718.
Close Other no longer closes untitled but modified tabs

We would previously bring up an “Do you want to keep unsaved changes?” sheet for these, so no convenience (i.e. batch closing several modified tabs) is really lost (on the contrary).
Regular expression searches no longer ignore case
Use std::chrono::steady_clock instead of oak::date_t

This is a better choice for durations, as it’s clearly defined as independent of wall clock time.
Change text::format → std::to_string (C++11)
Implement regexp::match_t::operator[]

This can be used to access the n’th capture (as a std::string). If there is no capture, NULL_STR is returned.
Add convenience API for searching std::string
Add minimal tests for regex::search
Switch to simpler regexp::search
Use regexp::match_t::operator[]

Also bypass NSString/c_str() by using std::stod().
Change strtol → std::stol (C++11)

I initially wanted to do this change globally, but std::stoX will throw an exception if it fails to parse something and we use strtoX a few places where parsing nothing (and getting back zero) is fine.
Use exp2(x) instead of pow(2, x)
Change push_back → emplace_back (C++11)

This is mainly motivated by readability, so I only did a few select replacements.
Parse headers received in post_to_server
Show notification when posting crash reports (10.8)

This is both to remind the user that crash reports are automatically submitted and to make it easy for them to point us to a specific crash, as notification center will now work as a list of recent crashes; click on one of them to see the online version.
A file suffix in file chooser would rank too high