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 

Not seeing the point of changing Downloading to Download. 
I do see a point in State -> Stage. It's true they're also states, but the transitions never reverse.
And nicely adds differentiation between the State and Status we had previously. 
Stage = how far we progressed with the grab/import process.
Status = what we think about it.