Dl tracking

This got a bit bigger than I expected, and there is still more I want to do.

Main changes: 
- made `DownloadTrackingService` dumber/simpler
- updated `CompletedDownloadServiceFixture` to test the subject directly rather than through `DownloadTrackingService`
- renamed `DownloadClientId` to `GrabId`
- renamed `TrackedDownloadState` to `TrackedDownloadStage`
- added `History.GrabId`, I'm thinking we should make it an actual column, so dealing with it gets a bit easier, also we would be able to query based on it rather than loading the whole history in memory.

@markus101 @Taloth 

Users not using CDH still have a connection with sab (with FDH enabled or not), but they import via DF.
Imports via DF do not have a DownloadId and as such cannot be associated easily with TrackedDownloads.
So when the user turns on CDH, Sonarr starts seeing all those sab history items as ready for import and complains for every item that it can't find the files.
We attempted to remedy that a bit in AssociateWithPreviouslyImported, but that only works if there is a unique result in the db.
Changing categories prevents CDH from seeing any of those old items in sab. Purging sab history would do the same btw.