Cover art support

**More information about the project:**
http://mixxx.org/wiki/doku.php/cover_art_support

**Skin for tests:**
- Deere1280x800-WXGA

**Supported features:**
- analysis
- autodj
- crates
- library
- history
- playlist

**First Part**
- [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
- [x] do not show cover widget for not supported features:
    - banshee
    - browse
    - itunes
    - recordings
    - rhythmbox
    - traktor

**Second Part**
https://github.com/cardinot/mixxx/pull/1
- [x] redesign dlgtrackinfo to show covers
- [x] load cover in dlgtrackinfo
- [x] edit cover location in dlgtrackinfo
- [x] unset cover (load default)
- [x] reload cover from metadata
- [x] warning box issue
- [x] icon for each cover_art action
- [x] copy cover from external dir to track dir (if the user changes the cover)

**Third Part**
https://github.com/cardinot/mixxx/pull/2
- [x] add cover_art column in Library feature
- [x] add cover_art column in AutoDJ feature
- [x] add cover_art column in Analyze feature
- [x] add cover_art column in Playlists feature
- [x] add cover_art column in Crates feature
- [x] adjust cover art size
- [x] delay cover loading when the user is scrolling fast
- [x] batch updates (avoiding doing many writes in a short time)
>Not sure about this. Opening tho Home directory is wrong in any case. It might be slightly better to ope the music library directory. 

In fact it is just using the same logic of the context menu and I think that it is important keep both with the same logic... so if we change it here, we also should change the context-menu in the table view...

But I agree with you that maybe homeDir is not an ideal place, however the point is that if the trackDir does not exist, it means that the track is also not available and if it comes from one of the library dirs, it is also highly possible that the libraryDir does not exist... so we would keep having to set a safe dir (like homeDir) anyway...

>But IMHO it is most natural to try to open the non existing directory. At least Nautilus and Nemo are giving reasonable error messages.

Sorry, I didn't get your point... when are you getting errors?