MPW_SendRecv with 0 bytes and "select()" code reduction

In ```MPWide.cpp```: the MTO needs to cleanly run send and receive independently of each other. To allow this, a very small change was needed so that MPWide now allows 0 byte (NULL) buffers. See commit e910721 for more information.

In ```Socket.cpp```: the performance benefit of the old select was negligable
and added more lines of code, so I reverted it.