Use modern syntax that works in both Python versions
Python 3 only has 'int'
Try configparser before ConfigParser
Make mpd command wrapper work with python3-mpd2

MPDWrapper does not extend MPDClient anymore, but acts more as a proxy
now; the actual MPDClient is `self.client`. It was already overriding
*two* private methods, MPDClient._execute() for later versions and
MPDClient._docommand() for earlier ones, and neither works with the
completely different way python3-mpd2 is generating methods (binding
_execute before subclasses get a chance to override it).

This uses a different approach, which is much more reliable (although
requires some care to avoid infinite recursion – e.g. one must call
self.client.disconnect() directly instead of self.disconnect()...)
Port fileno() to use self.client correctly
Check path exists before opening the file
Merge pull request #44 from grawity/python3

Makes the code compatible with Python 3 (although it should still work with Python 2 as well).

Also implements a different, less hacky way to wrap existing python-mpd methods; this closes #50.
Make Mutagen optional

Arch Linux does not package it for Python 3 yet – in fact, I'm not even
sure if it is *available* for Python 3 yet.

Ref #44