refactored out AssetsCommonExtension

moved the download related methods into a new method, and the remaining up into AssetsCommon
a duplicate method to check the url response code remains, since check_url_response_code needs updating
to return a redirection code rather than following it (if desired).