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`
- made added `History.GrabId`, I'm thinking we should make it an actual column, so dealing with it get easier also we would be able to query based on it rather than loading the whole history in memory.

@markus101 @Taloth