When the bytestring we were about to copy was at the end of the TVB,
we were outrunning the original buffer by trying to read "size + 1".
Stopping the read at size, then expending the newly created bytestring
instead.
The AddToStore operation is performed in 3 packets:
1. AddToStore request metadata.
2. AddToStore payload.
3. Response from the daemon.
This means we need to keep some sort of processing state for the
operation.