Pull streaming out of handler and send initial
Merge /stream into plain GET

httpkit will tell us whether we are dealing with a websocket or not, so
if we are not we can return the usual http response rather than
streaming out the changes
Implement FakeChannel to test websockets

The previous method of testing the async http using deftype would not
work with websockets, so I've written a better FakeChannel
implementation in Java.