add a option to send custom headers on websocket client handshake

I added a option to send custom headers on a WebSocket client handshake.
It's useful for client authentication.