Hook up the web socket reader and writer together.

Add a simple real-world recipe which talks to an echo server.
In the SPDY code I avoid volatiles and use `synchronized` only. For me it's slightly easier to reason about because I don't need to worry about the order that things happen in the code.

But the drawback is that you can't do I/O from inside the `synchronized` block.