Add per-request chef object cache

Moving the caching introduced in 0a98603a would need making the cached
calls use a class variable and be re-set at the end of request.

At that point, that'd basically be duplicating what Rails already provides -
a memory backed Rails.cache.

Initialize the memory store in environment.rb, then add

1. ChefObject methods, that prefix the key, so it avoids conflicts

2. after_filter, that clears the cache after each request. This ensures
   that the next request wont work w/ stale data.

After the finders refactoring PR is merged in, this code could be moved
entirely into a separate module, with chef queries (or their hashes)
serving as a cache key. We'll just need to make sure that the code which
is intended to 'reload' the models can bypass this cache.
Use the ChefObject cache instead of ||= methods in helper