Don't create zero length DataBlocks in BinarySocket::Write()

This prevents SocketIO::Send() being called with sz == 0