shell: Register dialogs separately from pages

So that the upcoming refactoring can be done without having to bother
with dialogs.  Dialogs will get their own makeover.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Make cockpit.loc private

And refer to it as "page navigation parameters".

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Explicitly pass default host to embedded components

We will keep doing this when the current 'machine' option goes away.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: New-style URLs

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Separate page parameters into host, path, and options

Also remove the old { page: "..." } construct from the API and strip
the prefix from the path when passing it to embedded components.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Test hash encoding/decoding

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Move shell-specific semantics out of cockpit.hash

Reviewed-by: Stef Walter <stefw@redhat.com>