This module implements the base Babble::Cache class,
one that all other cache modules are based upon.
It provides all the methods every module must support.
Some of these will only carp - these need to be implemented in subclasses -,
some won't have to be touched at all.

Creates a new Babble::Cache object.
All parameters passed to it,
will be saved for future use.
However,
the following parameters are recognised by Babble::Cache itself,
and are used by the module itself:

Frobnicate stuff in the cache.
This is a quite complex method,
which does a few interesting things.
First,
it looks up if an entry named $id exists under the $category in the cache.
If it does,
all the keys listed in the $keys arrayref will be copied over from the cache.
If the cache does not have the key yet,
it will be updated.
If the entry is not found in the cache,
the keys listed in $keys will be stored in it.
If $keys is not defined,
all keys of $data will be used.