web: Don't automatically omit "dashboard" from URL.

This allows people to explicitly omit the dashboard ("All") from the
breadcrumb trail, such as when embedding Cockpit into a UI that
already takes care of multiple machines.

In addition, the "Account Settings" and "Search" widgets use the new
cockpit_go_server function to do their navigation.  That function
makes sure that the new breadcrumb only includes "All" when it was
there before.

Fixes #465
Reviewed-by: Stef Walter <stefw@redhat.com>
doc: Update cockpit-transport diagram for recent changes

Closes: #502
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
web: Improve $cockpit.dbus()

* Only put 'release' on the client once.
* Don't put the reference count on the client at all.

Closes: #516
Reviewed-by: Stef Walter <stefw@redhat.com>
ws: Fix minor issue found by coverity

Because asserts can in theory be disabled, we should have a
break statement here.

Closes #515
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
web: Replace 'first_visit' argument with 'setup' method.

To make it clearer that 'setup' is about static
modifications/additions to the DOM, while 'enter' is about filling the
page according to the URL parameters.

A lot of code has been moved, but it has not been changed.

Closes #518
Review-by: Stef Walter <stefw@redhat.com>
ws: Fix race while closing in CockpitSshTransport

The exit-signal or exit-status SSH packets often race with the
close channel packets. We need to wait for them. Add a timeout
during which we wait for exit-signal or exit-status after both
the incoming and outgoing close packets have been received.

Caught by Valgrind and Travis CI

Closes #520
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
Signed-off-by: Marius Vollmer <marius.vollmer@redhat.com>
* Moved a comment
Send notifications to #cockpit when travis builds

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
ws: Use right printf format for limiting string length

Closes #524
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
web: Release DockerClients.

Also, don't assume that DBusClients are ready when we get them.

Closes #514