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.
shell: Make cockpit.loc private.

And refer to it as "page navigation parameters".
shell: Move URL encoding and decoding into "base" package.
shell: New-style URLs.
shell: Separate page parameters into host, path, and options.

And remove the old { page: "..." } construct from the API.