Adding protocol support to web socket implementation

I'm not 100% sure about the naming of the property, but since WebSocket takes an array of protocols that the connection supports, we should keep that same paradigm on the server end.

This became necessary because Opera doesn't send the Sec-WebSocket-Origin header for some reason.

Once the other browsers support the protocols, I think this would allow us to remove some of the hardcoding of browser identifiers and whatnot on the helper end, which should help avoid some more helper connectivity issues.