Make *Message.receive_bytes() loop until the specified number of bytes are read

Rather than whatever number of bytes socket.recv() decides to return.
This fixes issue #4.