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 
Pulling the data from PG isn't the overall bottleneck, and there are pieces to that structure that require Ruby, e.g. the download URL, so I'm not sure that writing the query in SQL vs Ruby would make a big difference there.  But, we could definitely store the end result in a JSON column, and retrieve that stored value in the controller.  It's possible that would be fast enough that we wouldn't even need to cache the result.  I'll look into it further.