http_client: Manually construct query parameters for websocket connections

The requests library, for versions 2.0.0 and greater (at least), will not
construct a URL for a scheme that does not begin with 'http'. For our
websocket connections, this means that a request object cannot be prepared,
as the PreparedRequest prepare method will simply return the URL in the
original request object.

This patch works around this by manually constructing the query parameters
from the passed in dictionary.
Merge pull request #5 from matt-jordan/requests-fix

http_client: Manually construct query parameters for websocket connections