CLC-846 Adding caching to the proxy layer, work in progress

JIRA: https://jira.media.berkeley.edu/jira/browse/CLC-846

This is a WIP pull to open discussion on the refactoring pattern of one class per cacheable proxy request. The class name gets used as the distinguishing part of the cache key.