websocket: Allow parsing the HTTP version from responses

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Respect the HTTP 204 header when parsing the response

204 meens no content will be sent, so treat the request as only
having headers.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Implement keep alives for http-stream1 channels

We keep one connection around for 10 seconds in case another request
comes for the same thing.

In addition callers can specify a "connection" identifier which
allows them to reuse a specific connection if it is still open. This
is useful for strange connection based authentication schemes.

Closes #1579
Fixes #1570
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
ws: Use libssh in a threadsafe manner

http://api.libssh.org/master/libssh_tutor_threads.html

Closes #1582
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
examples: Add Proof of Concept for showing VNC in HTML5

This demonstrates our sideband channels and how we authenticate
connections properly.

Closes #1560
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
examples: Proof of concept talking to CIM

Talk to CIM using local authentication and retrieve some data.
This is a proof of concept example, and doesn't really do anything
magical, just proves it can work.

Closes #1569
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
ws: Only build cockpit-ws when requirements are met

We need Glib 2.37.4 in order to do reliable TLS, which
is a requirement of cockpit-ws

https://bugzilla.gnome.org/show_bug.cgi?id=701283
https://bugzilla.redhat.com/show_bug.cgi?id=1143943

We also need libssh 0.6.0 to build cockpit-ws

Disable cockpit-ws on platforms that cannot support it.
We can connect to such servers via the 'Add Server' functionality

Closes #1586