Bump version number
bridge: When expanding package variables, use package names

Use the real package names when expanding package variables, if
not using checksums.

Closes #1401
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
ws: Serve /cockpit resources in test-server

This allows us to test things with absolute paths

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: Implement a AMD loader

This is a standard AMD loader for loading modules with dependencies
and asynchronous loading.

https://github.com/amdjs/amdjs-api/wiki/AMD

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: Test AMD using the standard amdjs-tests suite

https://github.com/amdjs/amdjs-tests

We use the basic and anon tests.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
server: Use AMD async loading for the terminal component

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: Quieter messages when not loading via https

We return a 'no-cockpit' problem for callers anyway.

Closes #1370
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
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>
base: Provide cockpit.transport.origin property

This is the same as window.location.origin, but we cannot rely
on the latter, since it is not supported by Internet Explorer,
even version 10.

Add documentation and tests.
base: Implement transport.filter() and transport.inject()

These methods allow one to filter incoming messages and inject
outgoing messages. Needed when forwarding WebSocket via another
web frame.
ws: Cleaner channel-seed suffix

channel-seed should generally be used as a prefix. So add a
separator in to the mix from the very start.
base: Expose the transport options from the "init" message

This is similar to exposing channel.options. Necessary for forwarding
WebSocket to another iframe.
base: Channels to the right host provided by the init message

The default-host is now carried by the init message. We use this
to determine the default "host" field in channels.
base: Send cockpit protocol via parent frame where possible

Instead of each frame opening up their own websocket, send
messages via the parent frame if possible.