Bug 839862 - The developer toolbar / GCLI should be able to execute commands remotely

* c08691b - remotegcli-839862: Use 'exports' not 'canon'
* 693be22 - remotegcli-839862: Encapsulate the Canon
* b67543f - remotegcli-839862: Fixing command transplants
* f666764 - remotegcli-839862: Add unit tests
* 7343330 - remotegcli-839862: Add prefix to requisition
* fad532d - remotegcli-839862: Hack to allow access to Requisition
  Maybe you can think of a better way to go from a context to the requisition that it wraps while discouging/disallowing it's use in live?
* ea1e03a - remotegcli-839862: Add a 'context' command
* 2277bc6 - remotegcli-839862: Refactor - unindent 'intro' command
* 078722d - remotegcli-839862: convert() should always return a promise
* Ignore ae83e6f 19ca7f3 and eccc6f5 - not for mozilla-central
* 8c2fccd - remotegcli-839862: Add "connect" command (to go with prev)
* 9812a4a - remotegcli-839862: Split help data and help formatting
* 56196f7 - remotegcli-839862: Split "pref list" data and formatting
* 24a9415 - remotegcli-839862: Apply band-aid to "pref list"
* e71424d - remotegcli-839862: Swap param order to typedData
* 67c86f7 - remotegcli-839862: Split execution/conversion contexts
* f523b7a - remotegcli-839862: Make "context" command use default document.
* 5dda513 - remotegcli-839862: Move createExecutionContext into Requisition
* 5d5a67b - updatedom-856002: util.updateCommand -> requisition.update
* 30a00c9 - updatedom-856002: Allow events as well as elements
* bdbfb73 - remotegcli-839862: Split "intro" data and formatting
* 5cd791b - remotegcli-839862: Have audit clear up after self
* bb709da - remotegcli-839862: Remove examiner setups/shutdowns
* Ignore b689e75 and d88cf41 - not for mozilla-central
* fad0f43 - remotegcli-839862: Move 'then' function off Output
* 7047f98 - remotegcli-839862: Rename [un]registerType to [add|remove]Type
* 7775986 - remotegcli-839862: Update connect command
* 7eb8abc - types-767589: s/getType/createType/g
* 36be538 - types-767589: Allow object literal type definitions
* 1317f01 - types-767589: Allow subtype discovery
* 9ad95fe - types-767589: Use new type identification system
* c63ceb4 - types-767589: Refactor 'tokenize' to be static
* f46cef1 - types-767589: Use object-literal type style
* 5a2214a - refactor-864370: Hack modules not the help command
  Can be mostly ignored: only a trivial change to help.js
* 294d910 - refactor-864370: Better errors from converters.js
* 807648b - refactor-864370: Tighten up conversion types
* Ignore 3eceeca - not for mozilla-central
* c20fd07 - refactor-864370: Output.onChange -> output.promise
* c9d46c8 - refactor-864370: s/mockCommands/exports/g
* 43e5560 - refactor-864370: use canon/converters/types to avoid loops
* 701151a - refactor-864370: Remove context.createPromise
* 50f1c9b - refactor-864370: s/exception/error/g
* 4b869ca - refactor-864370: Fix errors from using output.promise
* 8e8899d - refactor-864370: Minor tidy-ups
* 408242f - refactor-864370: Add tests for failing commands
* a04c1cd - refactor-864370: Switchable error logging
* 077ca70 - remotegcli-839862: Export 'connect' command
* 81d954f - remotegcli-839862: Cu -> Components.utils