universe should return opscode location type

Chef plans to redirect the cookbooks/community site URIs to
supermarket in order to facilitate the launch. Currently, returning
"supermarket" as the location type means that berkshelf (the client)
cannot download cookbooks from supermarket.

This change sets the location type to opscode by defining a new
constant, which can be updated at at later point if/when necessary.
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
Add a timed spec for universe

Per @sethvargo's recommendation
Fix specs broken by #eda127b

We don't need the spec that checks for route compliance for this
particular method since we're not generating a full route.

Convert the port to a string before checking if it's empty. We could
use #blank? here, but @jtimberman avoids using ActiveSupport in order
to not develop habits that might leak into cookbook code.
Expect the proper string for berks

Berkshelf's `CommunityREST` expects a particular string, so we use
`#eql` to check that `download_path` generates the right thing with
various options. We also want to make sure if a port and protocol
isn't specified, we get the right thing (`http` by default, and no `:`
w/ an empty port string).
:routes is no longer used in this spec
ensure the port is nil, as that's what we test
squelch rubocop warnings that made the build fail
Build nokogiri with system libraries on Travis
Merge pull request #520 from opscode/jtimberman/supermarket-location-is-opscode

universe should return opscode location type
Enable and test other GHFM features

Enable and test other GitHub Flavored Markdown features in Redcarpet.
Merge pull request #525 from opscode/ghfm

Enable and test other GHFM features
Merge pull request #529 from opscode/nokogiri-travis

Build nokogiri with system libraries on Travis
Revert "Process archives in a backwards-compatible way"

This reverts commit 21114b276a68dd677038479f1cfab56b24778235.