Change protocol organization to using futures.
Merge branch 'master' into tp
Refactored the protocol library to use Futures.
Now websocket close down nicely (#7)
Merge branch 'tp'