Cater to download strategies not yielding a file

[brew-gem](https://github.com/josh/brew-gem) is currently broken because it substitutes an alternative download strategy which is just a stub so that rubygems can download and install the package, but doesn't yield a path for the verification process. This adds a simple guard to make sure we don't interrogate something that doesn't respond to `file?` for verification.

Were another download strategy written that yields Strings instead of Pathnames down the track this could hide an error, but I think that's a minimal risk.