Support for cache_* options to control request caching


Since the slowness of the reverse proxy seems to be at the connection level,
we have decided to pursue a temporary solution that includes caching
to avoid having to make the connection at all.

This only supports cache interfaces that implement .fetch like
Rails.cache.

@apartmentlist/web @jakeonrails @quarterdome @derwiki 
I tried to make this as unoffensive and extensible as possible.
Though the code may not be necessary if we move to a subdomain,
it may be worth cleaning this fork up enough to merge the caching 
features and multi-header bug fix back into the normal gem.