
This fixes the weird/broken existing behaviour which was incorrectly creating symlinks at download time. It also defers much more logic to the original code. For clarity, rename the existing `API::Download` class to `API::SourceDownload`. While we're here: - add a/improve the `download_type` method on all `Downloadable` subclasses to improve download queue output format - move some logic to `RetryDownload`