None of the existing websocket libraries are currently able to cope
with openssl 0.9 and be featureful, so we are disabling wss for now
to land openssl 0.9.
We need to switch to tungstenite to finally update openssl, this commit
rewrites the whole websocket infrastructure to properly follow the Fetch
spec and to make switching to a different websocket library easier.
- Hack to stop hitting unreachable on referer
- add fetch_done to make sync work
- Make datauris work by setting the response URI, spec bug
- Allow for empty bodies
- Make request bodies work (pass to http, fix fencepost in iter count)
Need to make sure close is only sent to the server once, either from a
client initiation or from a server echo. This adds the sent check to
both incoming and outgoing threads.