Made cache base classes generic.
Added a derived class for read-through Cache.