[scudo] Make local cache be agnostic to the type of node in freelist (#67379)

This change moves the `TransferBatch` and `BatchGroup` out of
SizeClassAllocatorLocalCache. It allows us that the node in freelist can
store more blocks instead of depending on the number of blocks cached.

That means we will be able to store more blocks in each node of freelist
and therefore reduce the memory used by BatchClass (with little
performance overhead). Note that we haven't enabled that in this patch.
This is the first step of this transition.

GitOrigin-RevId: b9c6737ba7307308ecb6ec4cecc4c07e48e7c141
5 files changed