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.
Merge pull request #5 from fedde-s/master

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