web: Issue more detailed errors for D-Bus disconnections.

We want to distinguish between early vs late disconnections.  With the
former, the call wasn't made at all, while with the latter the call
was made but we didn't receive the reply.
web: Use dbus-json2 for #server.

No changes are necessary.
web: Use a dialog for shutdown/reboot.

And simplify it considerably.

Fixes #653