cleanup redundant method use

* build the protocol+host+port outside the loop so we don't calculate
  that for every cookbook
* remove unnecessary method location_path
* update method signature for download_url
* update tests