Add doHandleWebsocket function

This allows establishing a websocket connection directly in an
HTTPServerRequestDelegate, which is useful if one needs to make some
checks on the request (and possibly send an http response with an error
code) before opening the websocket.

Signed-off-by: Luca Niccoli <l.niccoli@awtech.it>
> both are inherently unsafe though as ```on_handshake``` does not guarantee it won't escape the reference

Why not? on_handshake is defined as ```void delegate(scope WebSocket)``` so in theory it should not be able to escape the reference to the WebSocket. Are ```scope``` parameters not working yet?