report the size of the ghost lists (mfug and mrug) separately
reintroduce the needs_balance flag so that we avoid rebalancing the cache when not necessary
s/arc_update_size/arc_update_resource_size/

so that we ensure updating the size of a specific resource and
not anything we find for a given key (the resource might have changed in the meanwhile
so we could have updated the wrong one)
handle an edge case
ensure setting some appropriate defaults for the static fbuf stored in the connection context
changed the arc subsystem to simplify the interface a bit
and make no distinction between eviction and complete removal from the cache

also items moved to the ghost lists will preserve their data so that it's not necessary
to download it again if moved to one of live lists again.

The total size of the cache is now given by the sum of all the lists
and there is no ghost memory used anymore (so the cache will use at most
the assigned memory ... and not the assigned memory plus the delta due to the ghost lists)