Simplify entity equality code and enfore db/metadata split
Use a nuget package to remove boilerplate code that needs careful
update when adding/removing fields. Add tests to enforce that all
fields are allocated to 'UseMetadataFrom' or 'UseDbFieldsFrom' to make
metadata refresh more foolproof.
Fix NRE when tracks are merged because artist wasn't set.
Fix NRE when tracks are merged and the merge target wasn't yet in the database.
* Fixed: Artist only marked as refreshed if Albums/Tracks refreshed also
* Fixed: Skip album releases with no valid tracks
* Fixed: Don't add albums with no valid releases
* Fixed: Remove Albums with no valid releases
* Tests for migration 23
* Make the migration more robust
For duplicate foreign Ids, create dummy id so correlated subquery
doesn't fail.
If we can't parse the release from the database, put in a dummy release.
* Be more careful with metadata refreshes
Make sure we deal with items that are not linked to the correct parent
* New: Store all releases for an album and track artists
* Add Overview, links and release date by release
* Tidy up
* Fix metadata refresh errors following musicbrainz edits