Miscellaneous fixes

Hi,

I need to make some changes to the download strategies in Homebrew in order to make implementing some new features possible. The strategy classes have evolved a fairly unconstrained API over the years, so as you can imagine, knowing what is safe to change is difficult.

To that end, I am trying to get a feel for how these classes are being used outside of Homebrew core, and hopefully I am able to point out where things can be done in a different/simpler way.

I will leave some comments in the diff explaining the changes.

Thanks!
Now that the download strategy has the correct cached filename, we can use the `cached_download` accessor in the formula.