Support namespacing in cache.Store by framing the interface functions around interface{} and providing a key function to each Store implementation. Implementation of a fix for #2294.