managed_bytes: conform to allocation_strategy's max_preferred_allocation_size
managed_bytes: conform to allocation_strategy's max_preferred_allocation_size

Instead of allocating a single blob_storage, chain multiple blob_storage
objects in a list, each limited not to exceed the allocation_strategy's
max_preferred_allocation_size.  This allows lsa to allocate each blob_storage
object as an lsa managed object that can be migrated in memory.

Also provide linearize()/scatter() methods that can be used to temporarily
consolidate the storage into a single blob_storage.  This makes the data
contiguous, so we can use a regular bytes_view to examine it.

raphaelsc/scylla,raphaelsc/scylla,avikivity/scylla,duarten/scylla,avikivity/scylla,raphaelsc/scylla,scylladb/scylla,scylladb/scylla,avikivity/scylla,kjniemi/scylla,kjniemi/scylla,duarten/scylla,scylladb/scylla,scylladb/scylla,kjniemi/scylla,duarten/scylla