Fix non-blocking socket reads and accepting sockets
This fixes two problems:
- When a socket was accepted using
Socket.accept
,TcpListener.accept
, etc, it would be operating in blocking mode. - Reading from a socket with a buffer size larger than the received message would not return, unless the socket was closed or a message with the right size was sent