Previously, in the rare case the database became out of sync with the disk store, it was impossible to feasibly repair a beatmap. Now reimporting checks each file exists on disk and adds it back if it doesn't.
FirstOrDefault when called on a TableQuery with a predicate doesn't use table indices
Guarantees that backing files are cleaned up correctly. Also handles lingering "beatmaps" directory from older builds.
Also simplify initial migration for BeatmapStore by just nuking everything.
This fixes incorrect reference counts causing database desync.
Welcome back BeatmapManager