Refactor|LumpCache: Replaced array void* datas with a vector of CacheRecord
As the lump datas use Zone-allocated memory and given the need of an address to track "user" status of said data - use a thin wrapper object (named CacheRecord) so that we can use C++ delete directly on the object without worrying about updating data user pointers (CacheRecord's destructor hides this messiness).
Also, defer the allocation of the data cache itself until the first datum is inserted into the cache.
Refactor|LumpCache: Replaced array void* datas with a vector of CacheRecord
As the lump datas use Zone-allocated memory and given the need of
an address to track "user" status of said data - use a thin wrapper
object (named CacheRecord) so that we can use C++ delete directly
on the object without worrying about updating data user pointers
(CacheRecord's destructor hides this messiness).
Also, defer the allocation of the data cache itself until the first
datum is inserted into the cache.