Simplify creating an OakEncodingPopUpButton

We now do the (sort of required) sizeToFit in the initializer. Users can still bypass this by using initWithFrame:pullsDown: instead of init:.
Drop use of OakSavePanel in Terminal preferences
View → Toggle Foldings now work for find results

This will expand/collapse the find results.

The benefit here is just having a key to quickly collapse all the results so that we get a list of files (with matches).
Fix releasing of array

Previously we used ‘dealloc’ to release the array, which is wrong.

Since instances of OakStringListTransformer is normally never released this bug wasn’t affecting anything. But since we have a dealloc, it should be correct.
Don’t register existing value transformers

It can happen that we register the same value transformer twice, e.g. if we register it in an initialize method (since these are not guaranteed to only be called once).

This isn’t a problem per se, but there is no reason to create the new instance.
Limit recursive snippet expansion

If caret is at the first position of a place holder then we no longer look for tab expansions, should the user press tab.

This address the issue where a placeholder has optional content and the word to the left of this optional content is a tab trigger. Previously deleting the placeholder text and pressing tab would insert a new snippet, which would generally not be expected.

This closes issue #226.
Don’t disallow snippet expansion in last placeholder

This was (temporarily) disallowed by previous commit. We do however need to allow it in the last placeholder since that is used for chaining snippets. See issue #182.
fixup! Add support for theming the gutter

Theme was no longer initialized by OakTextView, instead we relied on OakDocumentView to provide us with a theme, but if the user had no themes installed, it would never do so, leading to a crash when OTV uses a theme member function to obtain colors.

This closes issue #222.
Add missing dependencies to debug targets
Update installed mate if required
Don’t remove existing mate on install

The reason for this is that we might be able to overwrite mate even if we do not have write access to the parent directory. This will avoid us having to prompt the user for an admin password (when updating mate).

It should be mentioned though that incase mate is not a regular file, we do need to remove it first, because if e.g. it is a symbolic link, our install would write to where the link points to.
Move ‘mate’ socket (back) to /tmp

We moved it to TMPDIR so that multiple instances of TextMate could run (for different users) but have since gotten a lot of reports about problems with this location. The short version is that ‘ls’ shows the socket exists (in TMPDIR), but stat’ing it or similar will fail.

To still allow different users to use mate side-by-side we add the user ID to the socket name.

Hopefully this closes issue #183.
Community effort to redesign and retinafy the gutter icons.
Expose encoding variables for document_t
fixup! Prune redundant items from SCM data source
Add encoding options to save dialogs

A minor caveat is that if there are encoding or newline (folder specific) settings in effect for the chosen path, these trump what’s selected in the save dialog.

If we wish to solve this, the best would be to update the options (shown in the save panel) based on selected folder/filename (and the settings in effect for that).

This closes issue #163.