Moq can no longer be trusted from a security/privacy standpoint (see https://github.com/moq/moq/issues/1372). As I do prefer Moq I may revert this if there is a trustworthy fork.
This can use Task and download into a Stream. Thus DownloadFormat is now
accepting a Stream and canceling a download (before extraction) does not
require it to remove the temporary file.