Cover art support

- [x] implement database scheme
- [x] search for embedded cover
- [x] search for cover in track directory
- [x] save covers in disk cache
- [x] search for covers in disk cache
- [x] minimal ui (display covers in lower left corner)
- [x] handle existing users
- [x] LRU cache
- [x] unit tests
- [x] md5 hash
Wow I did not see notice this change. Yeah Marcos avoid stuff like this,  debugging and understanding things like this is just a nightmare.

Calling the function twice just sounds weird. Since we have a timer now can we just go back to the first signal/queue model that passed the images around. It is much easier to understand and the code that follows from it is also easier to understand. I'm also not sure if this was the reason for performance issues in the first place.  There are not that many copies made as I can see it no deep copies.  http://stackoverflow.com/a/11287488/2207958