shell: Use watchdog channel for disconnects, and reload on Reconnect

Use a watchdog 'null' channel to watch for disconnects.

Given channels other than dbus, it's not possible to just reconnect
channels and try to patch things up on a disconnect. We really do
have to reload the current page.

We try to reestablish a connection as we're showing the Disconnected
dialog, which keeps our session alive until the user chooses whether
to Reconnect or Logout.

Closes #1508
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>