REF: cover-widget only rely on signals

the coverArt-widget is only using the signal interface of the
coverArtCache. This commit also will let the old cover be displayed
until the cache reports back from the request.
REF: write string directly into tr call and remove &

We try do avoid formatting symbols like the ampersand for strings that
have to be translated. This also removes a memory leak because the char*
string were not being deleted with the coverartmenu widget.
coverartcache does not deliver TIO's

CoverArtCache is only responsible for handling covers. If a class wants
to have access to TIO's from the database it should get a private
reference to trackDAO.
use private member for code readability
coverart menu does not show the fullsize image

While the coverart menu is a good idea to avoid code duplication we
should let the class using it decide if they want to offer a fullsize
view. We can then implement it in a more common way. Like double
clicking a cover.
fix trailing whitespace
don't look up MD5 hash from DB, always save found cover

The MD5 hash that we request will always differ from the one that is
found because we only invoke 'searchImage' when there is no coverID set
or it points to the defaultCover. This also removes the newImageFound
variable from FutureResult.
Make cover in dlgtrackinfo work with cancel

We want that changes to the cover in dlgtrackinfo behave similar to
changing other values of the track. This required me to rework how
WCoverArtMenu works. WCoverArtMenu is now only a common menu that DOES
NOT CHANGE the database instead the widget implementing the menu does
this now when it sees fit. Another important change to make this work is
that 'CoverArtCache::searchImage' can now be called from any class
without the need use 'requestCover'. This is necessary to reload the
cover from the ID3tags/folder without updating the DB. This is ok in
this case because we only search for 1 cover and we will only block the
UI thread for a fraction of a second. I also think this is ok in this
special case because changing covers won't happen very often and a user
will to this one track at a time anyway, while the normal cover display
requires us to provides covers for several tracks simultaneously.
Check for NULL image in CoverArtCache::changeCoverArt

We do this NULL check in other functions as well. Let's do the same
thing here and stop early if we find that the image cannot be loaded.
remove default arg from WCoverArtMenu::show(...)
Remove unused m_pConfig member from WCoverArt.
Revert "don't look up MD5 hash from DB, always save found cover"

This reverts commit 25bd8f77c214f9b5abc5be68119449ccfe79688a.

I'm going to refactor `requestPixmap` as well to use `CoverArtInfo` as
well. `requestPixmap` needs the MD5 hash value.
always calculate MD5 hash for cover found during search
use CoverArtInfo also for `loadImage`
use a CoverInfo struct to request a cover.
use CoverInfo in every class that uses Covers

This makes it easy now to send additional things around by just updating
the CoverInfo struct.
load image when we know they are in the id3tag

with this change the search function is only called if we really don't
know the cover for a track or it cannot be loaded anymore. At all other
times we call the load function. As a nice side effect this reduces the
DB calls for tracks collections where most tracks store the coverart in
the id3tags.
fix broken test
add test for embedded coverart
Fix but to run CoverArtCache alone