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
OK, this made me thinking. 
It is probably the best to remove the signal here and change the function call to:
```
    CoverArtCache::instance()->requestPixmap(coverLocation, trackId, &m_currentCover);
```
This will copy the coper to pointer position if instantly available. 
Only in case if not a signal is send that the cover is now available and the widget can retry requestPixmap()