Add websocket support.

This currently sends a bogus string after upgrading the websocket
connection.  It should catch when the socket server isn't connecting
or is down.