implementing new API functions for (almost) zero allocations; first steps in chunkref to support zero copy s/g arrays
extra chunks in chunkref go to an array instead of a list to minimize mem allocs