Reworked loop in its logical order
Merge branch 'timeout_on_connect' into disablebind
Merge branch 'cleanselect' into disablebind
Changes to make connect more robust
Merge branch 'master' into disablebind
Merge branch 'master' into disablebind
Server sockets are handled internally to Socket and connect/accept uses blocking socket

As a consequence, the code more consequently assumes that after connecting, the socket
is non-blocking, as is the case in the MPWide code.
Shorter channel calculation
Socket accept matches description
Socket::send and ::recv match description
Never mind the binding -- it's fine
Re-const-ed Socket::listen()
Merge branch 'master' into disablebind
Socket now properly handles copies

This is needed since the vector datastructure
will sometimes copy objects.

Alternatively, vector<Socket> client could be defined as
vector<Socket*> and the Socket::Socket(const Socket& sock)
could be made private, thereby disabling it. If it is
not defined, C++ automatically generates it.
Use the 'stream' variable instead of 'i'

In a few places (notably InitStreams), there were bugs confusing
'i' as the stream number with 'i' as the iteration number. This
is unambiguized by using 'stream' if the stream number is meant
and 'i' if the iteration variable is meant.
Listen and accept more explicit failure messsage
Merge pull request #10 from blootsvoets/disablebind

MPW_Connect and MPWTest work
Fixed the test script. It would not work correctly with the PingPong communication.

I used MPW_SendRecv instead of MPW_Send and MPW_Recv so that the test still works even if people use 'is_server' incorrectly with it.
Remove NOP in Socket.cpp.