base: Log DBus channel opening

Closes #1411
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
tools: Include test name in QUnit TAP test output

So we don't have to be repetitive and include it in every test message.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
tools: For TAP tests that PASS truncate test description

This allows all the 'PASS: ' lines to line up when scrolling in a terminal
and to visually be able to see problems quicker.

Closes #1412
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: Make iface and path_namespace of DBusProxies read-only

Closes #1414
Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Don't call legacy_page.setup when it is not defined

Not all legacy pages have this, such as the big ugly graphs.

Closes #1416
Reviewed-by: Stef Walter <stefw@redhat.com>
bridge: Fix use of 0 instead of NULL

Although correct, this is confusing when reading code.

Closes #1422
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell, base: Implement cockpit.location in base package

Move the hash tracking and setting API to a new cockpit.location
API in the base module.

Also, move the old cockpit.location temporarily out of the way.

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Made the API a lot like window.location
 * Handle relative paths and dots in paths
 * Use window.onhashchanged for events
 * Use location.go() for delayed change logic
 * Task switching will happen in another API

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: Use new API for hash tracking and setting

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Updated for cockpit.location API
base: Remove debugging output.

Closes #1417
test: Properly wait until iframe is loaded before switching to it.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Load external pages from target host

Closes #1371
Closes #1420

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Changed to use new cockpit.location API
base: Expose client of DBusProxy, DBusProxies, and options of DBusClient.
shell: Handle modern DBusClient in hostname_for_display.
shell: Simplify HTML

Mostly, move the top navbar out of #content.
shell: Host switcher
shell: Hide navigation when showing the dashboard.
shell: Ensure that the plots resize when the host switcher toggles.
shell: Export hosts model and make it more useful.
WIP
dbus-json3: relaxed subscriptions