download_path should return an "opscode" URI

The right thing to do here is what feels like the wrong thing: in
order to make supermarket compatible with the old community site so
that api.berkshelf.com continues to work seamlessly, not only do we
need opscode as the location_type, but the location_path for the
cookbook needs to match the same URI that was returned for the
community site. This is used by the CommunityREST class in Berkshelf
for the "opscode" type. At a future date if "supermarket" becomes the
location_type, then we'll update the location_path to match and
probably return to the previous path that looked like this:

/api/v1/cookbooks/redis/versions/1.2.0/download

While the `download_path` method doesn't use the arguments `cookbook`
or `version` in this implementation, I left them there so we have a
minimal code change in the future to revert this, without breaking the
method.

Finally, as the comment states, to ensure we don't have an empty port,
we only preprend the colon if needed based on whether port has a
value. It should be an empty string and not nil (otherwise fetch would
raise a KeyError exception, but it's possible someone didn't use the
supermarket cookbook that populates the ENV variables with the .env
file.

Also, fix the specs broken by 8aa5659