changed approach to ByteBufferScope which is provided to each accessor to determine how to construct the BB, dependent on how it will be used. This permits more savings in some cases, and is probably marginally cheaper. Especially if the accessor method itself is ever inlined