Version number should not be stored as double in user defaults

The current version of mate is 2.10 which gets stored as 2.1 (when using a double), so TextMate would think the installed version was too old (though after updating it, a string would be stored, so it would only happen once).
Fix potential crash in file chooser

This was caused by performing regexp matching on a temporary string object and later accessing captures from the match (when the string object was out of scope).

Rather than extend the scope of the string object I rewrote the code to use Cocoa’s NSRegularExpression class so we avoid using C++ (and thus temporary objects).
Don’t explicitly define targets as applications or libraries

Libraries can be identified by either being linked with other targets, or exporting headers, so that is what we do.
Simplify bundles::item_t::full_name to return “«name» — «bundle»”
Remove unused function: full_name_with_selection
Store a parent menu reference in bundle items instead of a path

This is simpler to setup and maintain and requires less storage.
Simplify code to format “«unit» / Selection” bundle/menu items