maxmin-722727: Add unit tests

These tests check that the updates to pass around the context are going to
funciton properly.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
maxmin-722727: Pass Execution context to type functions

We add getArgsObject to ExecutionContext (the exposed version of a
Requisition) and then pass that around to all type functions so they
can make decisions about type operations that depend on the current
state of the command line.

Some examples of where this could be useful:
- The max line number depends on the filename
- The type of a setting value depends on the setting

Signed-off-by: Joe Walker <jwalker@mozilla.com>
maxmin-722727: Use context to make type decisions

Now we have the context available to DelegateType we can use it rather
than the nasty lastSetting hack in settings.js and the test mocks.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
maxmin-722727: Remove unused function

Wasn't called anywhere. I wish we had some tooling that could tell you
about this stuff automagically.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
Merge branch 'master' into maxmin-722727
maxmin-722727: Refactor - test command should use converters

The test command was broken because it didn't specify its output so we
assumed 'string' which was wrong. This changes the test command to do
a separate conversion step.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
maxmin-722727: Refactor - declare before use

Trivial refactoring: The 'use' of the command specs was later in the
startup sequence but earlier lexically which can be confusing, so we
just make the 'use' be after both lexically and in startup.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
Merge branch 'maxmin-722727'
cookie-784790: Better exception handling

The cookie command (in Firefox) uses exceptions when it can't get the
right data, however we were not properly typing the exception data.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
Merge branch 'cookie-784790'