cockpit: Add cockpit_json_parse_object() method

And make cockpit_json_parse_bytes() return a JsonObject. It's by far
the most common situation that we're parsing and writing JsonObject
rather than individual JsonNode. So make those cases realy easy.

Related to #413
Closes #508

Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
- Removed a merge conflict header
- Added an = NULL in cockptidbusjson.c
web: Put cockpit-main into $cockpit scope.
web: Move initial login attempt to login.js.
web: Remove obsolete jqmismin from cockpit-dashboard.
web: Make DBusClient useable also when it's not ready.

By adding DBusClient.prototype.get and emitting change notification
signals during the initial seeding.
web: Add plot.destroy method.

To completely clean up before replacing a plot with another.
web: Allow creation of plots on non-ready resource monitors.

The plot will wait until the needed properties of the resource monitor
have useful values.
web: Support for reusing D-Bus clients.
web: Tell pages when they appear in the breadcrumb.
web: Remove cockpit_dbus_client.

Instead, each page gets the clients it wants.  The pages have been
fixed to survive with a client that is not yet ready, but they might
not do that in the prettiest way possible.

When the connection is lost spontaneously, the UI does nothing special
now.  It mostly freezes and button clicks result in immediate errors.
This will be improved in a later commit.
tests: Remove a race in initial setup.