Exception based eviction currently keeps track of the size of the entries in one stored value. We should keep track by segment. This allows us to report an approximate size to other components, such as state transfer which could be useful in ensuring elements will fit.
Also it allows for us to remove the addRemovalListener method on the InternalDataContainer as this is currently used by exception based eviction when a segment is removed to update its count. Instead it would be notified of a segment being removed and just remove the value internally.