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 
I can guarantee you it will cause installation problems. It's like nokogiri 2.0 :frowning:. I love OJ, and I use it when I make any personal tools, but I think it's too difficult to target different platforms in this example.

Also, as I said in my other comment below, without a real running instance to get numbers from, it's hard to say how much of an increase we are getting. If it's microseconds, meh. If it's seconds let's revisit :smile:.