inspired by the POC from @chekolyn
* Adds a new requirement on websocket-client
* Add a new class WSClient that uses WebSocketApp from
the websocket-client.
* Make sure we pass Authorization header
* Make sure we honor the SSL settings in configuration
* Some of the code will get overwritten when we generate
fresh classes from swagger definition. To remind us
added a e2e test so we don't lose the changes
* Added a new configuration option to enable/disable failures
when hostnames in certificates don't match
Fixes#58