Make applyDefaults be tied to the current config source.
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.