Cover art support

- implement database scheme
- search for embedded cover
- search for cover in track directory
- save covers in disk cache
- search for covers in disk cache
- minimal ui (display covers in lower left corner)
- handle existing users
- LRU cache
The searching part will also load QImages and I think it's hard to avoid/split because **SoundSourceProxy** will extract and return QImages, so we will be handling QImages in the searching part anyway...

loadCover() seems to be a big thing (from function_name perspective), but actually it just means doing **QImage(coverLocation)**, so we would be using a third thread just to do it (loadCover)?

I don't think that it would make the code more readable...
But I totally agree that the current name for this method is awful. But we could just rename it (searchAndLoadImage()) or maybe find another solution which don't use 2 new threads...

I don't know if I was clear enough, but IMHO as searchForCover() would handle QImages (loading them) anyway, it would be a bit weird have a third thread that just do QImage(coverLoc)...

In addition, when we do the first QImage(coverLocation), it means that we are looking for cover into disk-cache and it's also a kind of search (as we had in our early implementations)...