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)
you add this line of code for every external feature and also the browse feature. There also are other common actions that all these features use. It should be possible to get this into a common function of the base class