feat: new tuple constructor with preallocated buffer
Summary
The constructor for small-allocated tuples, box_tuple_new(),
implies copying the msgpack buffer into the tuple's memory. However,
we'd like to avoid this intermediate buffer allocation and instead
create a small-allocated tuple with a preallocated buffer of the
required size, into which the necessary msgpack data can be written
directly. To achieve this, the function
small_tuple_prepare_buffer_ext() was created and exported.
Docs follow-up: not necessary