doc: Document how to change the Cockpit TCP port

Closes #1584
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
tools: Fix problems running make-srpm without autogen.sh first

Closes #1585
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
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
doc: A bit of cleanup of the protocol documentation

 * Remove the scary warnings, as this is starting to become stable.
 * The resource2 is due to go away, so remove documentation
 * Remove some confusing bits that only apply to cockpit-ws and
   will likely never be stable

Closes #1598
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Exit bridge when interrupted with Ctrl-C

This semes to be a regression or oversight.

Closes #1600
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Don't complain loudly in logs ObjectManager access denied

If access is denied when accessing a DBus service's ObjectManager
methods, or while trying to Introspect it, just treat it as if those
interfaces don't exist.

Otherwise we just fill up the log with useless stuff. When in fact
the service does not want to talk to us that way.  Debug level
message remains.

Closes #1601
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Fix parsing of zero length base64

GLib gives a warning about this, so we need to handle it before
calling the g_base64_decode_step() function.

Closes #1602
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
common: Use a textual length when sending frames in stream

When sending messages in a stream, use a textual length frame so
that the result is more debuggable, loggable etc.

Fixes #1589
Closes #1599
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Don't put an extra new line in init message

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Interactive mode for debugging the protocol

This lets use use a boundary delimiter between messages and makes
debugging the protocol easier.

Closes #1603
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
WIP - metric channel
WIP - metrics playground
WIP - make them run
WIP - let glib worry about getting the tick interval right
WIP - Make sure to set self->last for the first time.
WIP - encode instances of instance-less metrics as 'null'.
WIP - work around json-glib bug.
WIP - recognize instance-less metrics when building samples.
WIP - Let us worry about getting the interval right.
WIP - 'plot' multiple metrics