Added CustomHeaders to WebSocketClient

First off, thanks so much for this library! I was previously using WebSocket4Net which apparently doesn't handle large messages correctly. 

This change adds a `CustomHeaders` property to `WebSocketClient` which will send additional HTTP headers on the handshake request. This isn't exactly per the WebSocket spec, but it was needed for a particular project and it could be useful for others as well.