MPW_Connect and MPWTest work

* The connect sequence now works with blocking sockets, since non-blocking sockets are not allowed to be
connected with the same arguments multiple times. Since the non-blocking features of connecting are not used anywhere in the code, its faster and simpler to connect non-blocking. Because of this assumption, and the same assumption in accept, all the other code is non-blocking by default, so after connect or accept this is set.

* The connect timeout is not directly used but enforced by the operating system instead. However, any timeout larger than 1 will cause the code not to go into an endless loop.

* Since a server socket is not reused in the MPWide code, after ```::accept()``` it is directly closed. This reduces the maintenance afterwards.

* ```Socket::send``` and ```::recv``` did not necessarily send al data they were given on non-blocking sockets, and have been re-written to work with non-blocking sockets. They are only used in MPW_Barrier, which assumes the functions will be blocking, so this will now work correctly.

* ```MPW_EMPTY``` was not initialized in ```MPW_CreatePath``` and caused a segmentation fault when using ```MPW_Send``` after ```MPW_CreatePath```. It has been updated to always be initialized statically.