Possible to send/receive 0 bytes with MPW_SendRecv

By checking the select mask before sending/receiving,
you can disable the sending or receiving if the size
is 0 bytes. This was needed in the MTO to enable sending
and receiving over the same channel at the same time,
but with a different call MPW_SendRecv call.
With a 1-byte buffer, the send and receive statements
over the same socket could get mixed up (garbled).

In pseudo-code:
Thread 1:
// Waiting for header to start receiving
MPW_SendRecv((char *)0, 0, recvbuf, recvsize, pathid)

Thread 2:
// Sending header to start new transaction
MPW_SendRecv(sendbuf, sendsize, (char *)0, 0, pathid)

In MPW_SendRecv empty (NULL) buffers are now consequently also
allowed.