Speeded up message reading from socket

Since we're using a socket-as-a-file, the socket.read call will always
wait until the requested bytes are received, so we don't have to check
that the received bytes are the length we requested.