Stop Find window showing an NSSavePanel on ⌘S
Log errors from each call in swap_and_unlink
Ensure grammar is retained during parsing

Since parsing is done in a separate thread, and it works with pointers, we need to ensure that the grammar is retained for at least as long as the thread lives.
Handle *.c++ files in gen_build

We already handle these when mapping extension to file type.
Don’t access invalid iterator when creating delta plists
Make oak::callbacks_t somewhat thread safe

If we only add, remove, and signal callbacks, the data type is now thread safe. This is mainly for the purpose of the concurrent tests.
Add mutex for bundles::item_t::plist

This is (once again) only for the concurrent tests, although we probably do want to use the bundles API from more threads in the future.
Remove prototype for unimplemented member function