Initial pass at handling socket messages with data.

I would still like to add some tests to ensure the Socket works
properly.
Define a Socket MsgHandler.

These functions handle new messages received by the socket.
fixes #16
Merge pull request #17 from MarkBennett/add-data-argument-to-socket-messages

Add data argument to socket messages