[musicdb] adds Merge functions to CAlbum, CArtist and CSong for merging scraped and local information
[musicdb] Adds GetAlbum() and drop GetAlbumInfo().  Allows retrieval of full album detail, including local songs and scraped songs.
[musicdb] adds HasAlbumBeenScraped/ClearAlbumLastScrapedTime, dropping HasAlbumInfo/DeleteAlbumInfo
[musicdb] adds AddAlbum() wrapper and utilise this in the scanner.
[musicdb] adds UpdateAlbum and utilize this in the scanner, dropping SetAlbumInfo
[musicdb] If we're rescanning an album from tags (i.e. tags have changed) make sure we update the album as best we can.
This includes:
1. Update genre, year, compilation.
2. If a MBID exists, also update album name and album artist (as these may differ as we match on MBID).
3. Reset lastScraped time so that online metadata is refreshed.
4. Ensure we remove previously assigned album artists before adding the current ones.
5. Ensure we remove previously assigned album genres before adding the current ones.

The main place this process can fail is in multi-folder albums. In this case, the artists and genres (and year and compilation flag)
from the last scanned folder will be what is included.

A way to work around this for the future might be that, in the scanner, we not only scan the current folder, but for each album, we
grab all other folders those albums appear on and scan them at the same time.  This ensures that each album is complete during an
individual scan.
[musicdb] Use GetArtistInfo() in ExportToXML to save custom queries.
[musicdb] drop artistinfo table, merging with the artist table.
[musicdb] adds GetArtist() replacement for GetArtistInfo()
[musicdb] Adds HasArtistScrapedInfo/ClearArtistLastScrapeTime and drop old methods
[musicdb] adds UpdateArtist() as a replacement for SetArtistInfo()
[musicdb] use triggers for database consistency instead of deletes
[musicdb] retrieve the song artist credits in GetSong
[musicdb] simplify parameter list of UpdateDatabase*Info()
[musicdb] utilize AddAlbum() and UpdateDatabase*Info() in the scanner rather than adding song by song, artist by artist
[musicdb] scan optimization - skip the scan if we don't find any music in the dir
[musicdb] fix artist fanart in infoscanner
[musicdb] add artist contributions (artists can have different names on individual songs/albums)
this allows for artists that have different names on some albums and songs
e.g. think about Prince vs TAFKAP - some albums have credits as prince, some as symbol
[musicdb] drop use of GROUP_CONCAT in albumview and instead use album.strArtists
[musicdb] construct the artist string from the artistCredits