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.