Avoid having an extra struct for request associated data
Reduced memory allocations on Stream.write to one

Only one allocation is performed right now, and no memory copying takes
place. The same principle can't be applied to writelines, however: 2
extra allocations are necessary in order to hold the list of buffers,
even if the buffers themselves don't need to be copied.
Reduced memory allocations on UDP.send to one

Only one allocation is performed right now, and no memory
copying takes place. The same principle can't be applied to sendlines,
however: 2 extra allocations are necessary in order to hold the
list of buffers, even if the buffers themselves don't need to be copied.