Skip add_extra_offset for empty results, fixes sc-11082
Skip add_extra_offset for empty results, fixes sc-11082

This change fixes a bug in handling of offsets after query completion with the 'extra_element'
mode.

The bug fixed here is that we unconditionally called memcpy with a target address that could
be out of bounds, after *subtracting* the `offsets_bytesize`  from the buffer starting address.
When the result buffer is empty, this target address precedes the buffer we are given by the
user, and the memcpy could corrupt memory not owned by libtiledb.

In the motivating Python bug, this call corrupted the object header
for the array owning the buffer, eventually causing a core dump.

I believe this also fixes a potential division-by-zero in the second clause when calculating
the element count.

TileDB-Inc/TileDB,TileDB-Inc/TileDB,TileDB-Inc/TileDB,TileDB-Inc/TileDB