implement Fingerprinting via LastFMInfoPlugin

This is the preview version of my work at Akademy, while it is not 100 % finished, the general design & workflow is finished and up for review

If a users file doesn't have titel & artist set, we send it to the LastFMInfoPlugin for Fingerprinting.
This happens using the following steps:
-) Analyze file (happening locally)
-) If last.fm already knows the file (it saves fingerprints for files in ~/.local/share/Last.fm/collection.db) we get a fingerprint ID
-) if not we have to send the result of the analyisis it to last.fm to get a fingerprint ID
-) with the fingerprint ID we can ask last.fm for the MetaData of this track
-) this metadata is then sent back to the MusicScanner

TODOs:
[] allow users to configure if they want fingerprinting
[] create a PhononSource (that implements FingerprintableSource) so we don't ned libmad and can fingerprint every file we can play