Hook up the web socket reader and writer together.

Add a simple real-world recipe which talks to an echo server.
Is this closed locally or closed remotely? I like to use `exhausted` to mean closed remotely.