agent: Fix another use after free in CockpitDBusJson

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
agent: Fork CockpitDBusJson into the old CockpitDBusJson1

We'll be implementing a new dbus-json2 protocol and migrating
away from dbus-json1

The javascript code which calls into the old protocol is rather
ugly, requiring explicit use of { protocol: "dbus-json1" }
everywhere. That's intentional.

The first change to the new dbus-json2 is that we include the
signature along with variants like this:

 { "sig": "u", "val": 1234 }

Closes #568
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
agent: Work around json-glib bogosity re empty strings in arrays

https://bugzilla.gnome.org/show_bug.cgi?id=730803

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Closes #614
agent: Backport bus type option to dbus-json1.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
web: Use 'payload' instead of 'protocol' option.

Because that is the correct spelling for it.  Previously, everything
was using the dbus-json2 payload type by accident.  (This mostly
worked, but not entirely.)

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Closes #616
test: Remove a race in check-storage.
daemon: Proxy HintIgnore for storage blocks.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
web: Ignore block devices when udev says so.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Fixes #590
Closes #618
web: Only show ethernet network devices

We don't really know what to do with the rest.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Fixes #589
web: Show containers on image details page.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Closes #620
Fixes #278
web: Release client of the #service page.

This was an oversight.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
web: Add cockpit.set_watched_client function.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
web: Show modal dialog when single-server pages get disconnected.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Fixes #598
web: Don't reconnect D_Bus clients when acquired

This is not useful anymore since we now can let the user deal with it
in the "Disconnected" dialog.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
web: Also use the "Disconnected" dialog on the dashboard.

This is more consistent and the modality doesn't hurt much since a
problem with localhost very likely means that no machine can be
reached.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
web: Show modal dialog on containers page when disconnected.

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
web: Factor out the DBusClient and DockerClient object caches.

We will use pattern also for the upcoming NetworkManager code.
web: Make "select" buttons inline.

Otherwise the dropdown isn't always under the button.
web: Network configuration
WIP: Watch NetworkManager client.