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
I have still not understand the whole code, so I am not sure if this comment is true, but I will try. 

This codes reads like a twist of responsibility. Why is the WTrackTableView the one who gives the command 
"loadCoverArt" with an explicit cover location. 
WTrackTableView does not know the consumers and does not know if the coverLocation is suitable. 

What about being more reserved and just emit: 
emit(focusedTrackChanged(trackId))

The location can be fetched from the trackInfo object at the consumer.