A: New URL scheme

This turns ```#storage-details?type=drive?id=Foo?machine=bar``` into ```#/bar/storage-details?type=drive?id=Foo```.

This is turned into ```#/bar/storage/drive/Foo``` when Storage becomes a external page in an iframe.

The next step is to remove the need for PageExternal.

Thinking about this more, I think we should find another way to connect to the right host. In particular, very soon, when embedded in cockpit, various components will simply forward messages to the parent frame, the parent should add host field to "open" messages with an empty host. When not embedded in cockpit, components would talk back to the server they were loaded from.

We can then only forward the slice of path that applies to the page in question, and default to '/' if not present.

I think we want examples like this to work without a hash:

 * http://files.cockpit-project.org/guide/latest/api-terminal-html.html
 * https://github.com/cockpit-project/cockpit/blob/master/examples/integrate-terminal/integrate-terminal.html