Add /universe endpoint

:construction: 

This is a first stab at the `/universe` API endpoint.

The JSON output does not include the following keys from the Berkshelf API output: `location_path`, `location_type`, `endpoint_priority`.  I wasn't sure what these keys would correspond to inside Supermarket, or if we even need them now.  The rest of the JSON should match, format-wise.

I included some basic caching around the query itself, and the view.  Adding or deleting a cookbook will invalidate the query cache, and refreshing the query cache will invalidate the view cache.

I'm definitely interested in feedback here before saying this is ready to go.

/cc @bcobb @tristanoneil @brettchalupa 
Cookbook names can only contain letters, numbers, underscores, or dashes, so we _could_ use the `lowercase_name` attribute and save the call to `to_param`.

For the version, we could relax the default constraint on the `:version` segment of our routes to allow version numbers to appear unaltered in URLs ([RubyGems does this](https://github.com/rubygems/rubygems.org/blob/master/config/routes.rb#L20)). Not only does this save the work done in `to_param`, but is also, in my opinion, better for users.