Revert unused caching part of a4ebaff

We did not use the caching of commands/urlhandlers; additionally, the
urlhandlers was called before password authentication.

Without the caching, we no longer need to wrap connect/disconnect.
py3: remove some Python 2 crufts
covers_lastfm: Fetch covers from Last.fm

The API key should be changed to something specific to Sonata.

It lacks currently any errors checking. It should at least do something if on
of the error code from http://www.last.fm/api/show?service=290 is returned.
Also, it seems sometimes Last.fm returns broken XML, so we should do
something about it.
covers_lastfm: Handle multiple images and errors checking
Port to Python3
covers-lastfm: make the plugin executable by finding some test cover
covers lastfm: new API key
covers: fix size of covers in the search remote covers dialog

For some reasons, it was working a long time ago, but didn't since a
while. I couldn't bisect the changeset, too many non-working changesets
during the Py3/Gtk3 migration branch :/

"162" is an arbitrary value, which is supposed to be the size of the
image plus the size of the "spiner" on the left.
Remove broken Rhapsody covers plugin
covers lastfm: port to JSON, bump to revision 1.0 (for what it's worth)
covers: use Last.fm services instead of (broken) Rhapsody to find covers

Merge branch 'covers-lastfm'
doc: update changelog with new covers plugin
covers: provide new API to simplify writing of covers plugins

The plugin doesn't have to handle the cover savings anymore, it just has to
signal through a callback mechanism that it got some cover somewhere, and
Sonata will save the cover at the right place with the right name.
cover: log and images detection is done by Sonata itself

This simplifies even more covers downloading.
covers lastfm: detect errors
covers: allow to pass a reason to the error callback
doc: start to add a documentation to explain how the plugin system works
plugin: simplified cover fetching API for plugin writers

The plugins now don't have to take care of saving the covers to the file
system, to differentiate between getting one cover or many, nor to return
special values depending on what they did.

Previously, all those things had to be done in each and every cover-fetching
plugins, which was redundant and not very practical. I believe this is now much
easier.
doc: updated changelog with new format
mpd: if a song attribute exists several times, keep only the first one

An attribute of a song can be present several times on some song (for
example, 'Genre'). In this case, python-mpd returns a list containing
all the values of this attribute. This doesn't really fit in Sonata, so
we keep only the first one.