Websocket manager

Reconnects if the connection drops.
Can queue multiple sends, but receives act synchronously.
Which means the manager will not work with streaming responses.