playground: Move the internal page into its own package

And rename it to #playground ... it has hammer.gif after all :)
tools: Use 'phantom-tap-xxx' as our TAP communication with phantomjs

Since these variables and canaries are not QUnit specific, rename them.
We'll want to run other phantom tests via our phantom driver.
base: Add some javascript tests actually spawning processes
bridge: Add "directory" option to text stream protocol

This spawns the process in the right directory.
bridge: Add "error": "output" to spawned textstream channels

This includes the error output in the textstream output.
base: cockpit.js can be loaded without jQuery

This is necessary for the AMD module loader to work which will in
turn locate and load jQuery in later commits.

In addition this gives developers using things like dojo in packages
a small API for interacting with cockpit-ws and the message stream.
doc: More spacing between entries in guide reference sections
examples: Add some examples of building a simple component

This currently uses the #playground task since we don't have a way
to add arbitrary tasks to the Cockpit UI.

Closes #1399
bridge: List canonical package name first

In the package listing always place the canonical package name first.
pkg: An API in cockpit.js for package lookup

This will also be used by the AMD loader

Closes #1398