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
This guarantees the order in which we look. Yours implicitly always prefers the largest image of those 4.

```C++
idx  = imgList.indexOf(QRegExp("*.cover.*");
if (idx  != -1 ) {
  return imgList[idx];
}
idx  = imgList.indexOf(QRegExp("*.folder.*");
if (idx  != -1 ) {
  return imgList[idx];
}
idx  = imgList.indexOf(QRegExp("*.album.*");
if (idx  != -1 ) {
  return imgList[idx];
}
idx  = imgList.indexOf(QRegExp("*.front.*");
if (idx  != -1 ) {
  return imgList[idx];
}
return imgList[0];
```