mime, actions: Rename associations into applications
actions: Rename actions classes and files to be less generic

ActionsFile -> MimeActionsListFile
CacheFile -> MimeActionsCacheFile
ACTIONS -> MIME_ACTIONS_LIST
CACHE -> MIME_ACTIONS_CACHE
mime: Make MimeTypes hashable (by their name)
actions, mime: Move several mime actions methods directly to MimeType
desktopfile: Implement DesktopFile.lookup() to lookup a desktop file by name
desktopfile: Fix DesktopFile.formattedExec() for when args is an empty list
desktopfile: Implement DesktopFile.exec_()
desktopfile: Reimplement old-style IniFile methods in DesktopFile class

This is in preparation of using a lower-level IniFile class for all
ini-like file classes
basedir: Don't use sets as they're not ordered. Oops.
actions: Document the actions implementation a little further
mime: Never duplicate items in SubclassesFile or GlobsFile

This is a problem that was only revealed once we stopped de-duplicating
XDG basedir keys as the same files started being parsed multiple times.
xdg: Avoid returning duplicate file paths in xdg.getFiles()
actions: Massive cleanup

We now use a better IniFile class which is closer to the metal
(RawConfigParser subclass). The downside is we have some increased
complexity when merging files as we implement list values and those need
to be merged properly.

Additionally, the entire actions module has been rewritten to be
agnostic in name to the MimeType class. This is to prepare for
Category/Intent/etc support in the actions files.
setup: Use __author__, __email__ and __version__ in setup.py