Uses ‘mem_alloc’ to allocate enough memory to store an
Autobuf and initialises that memory as an empty autobuf. Returns
a reference to the allocated darray, or a null pointer if there was
insufficient memory.
— Function: void abuf_destroy (Autobuf *abuf)
Finalises abuf in the same way as ‘abuf_finalise’, and then
frees the memory referenced by abuf. abuf must have been
allocated by ‘abuf_create’.