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)
>Just add it to all. The comments you made in code are really useful for a translator as they do not see the source code.

Sorry but I'm not sure if I got it.

* Do you mean using the comments as the context info? like it:
``` c++
tr("&Change", " change cover art location")
tr("&Search from the internet")
tr("&Unset", "unset cover art - load default")
tr("&Reload from track/folder", "reload just cover art using the search algorithm (in CoverArtCache)")
```

* what about using ```Choose a new cover from disk``` instead of ```Change```?
        it is more informative and do not need a context info

* about rename ```unset``` to ```delete```:
I remember that when I started implementing it, I have named it as 'delete'... then I realized that it could be confusing because in fact this action will not "delete" the cover... actually it will just unset... maybe there is another good word for it, but IMHO "delete" is also not ideal...