Overloadable cache manager

It is now possible to extend and replace the cache manager. This allows one to, for example, transparently encrypt the cache.