refactor-864370: Minor tidy-ups

Biggest change is to remove some deprecated (and broken) options from
requisition.exec()

Signed-off-by: Joe Walker <jwalker@mozilla.com>
output-901602: Have Output.promise resolve with itself

Previously there was a nasty thing where requisition.exec() returned an
output object, directly. output.promise resolved when the command was
complete, but with undefined, and the data stored on the output object.
This was for historical reasons, but now output.promise resolves with
itself, and all uses of requisition.exec() use the output object using
the 'then' function rather than directly in the return value.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
refactor-864370: Move server/index into gcli.js

No need for Mozilla review.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
output-901602: exec should return a promise not an output

Now that output.promise resolves with itself, we can return a promise
directly from requisition.exec()

Signed-off-by: Joe Walker <jwalker@mozilla.com>
output-901602: Don't reject output on error - resolve

Previously when a command failed it rejected the promise, since the
bot reject and resolve both used an Output object, and the Output object
contained an error field we don't need reject, and it's actually
annoying because we generally want to do that same thing (i.e. display
the data) both ways.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
refactor-864370: Simplify NodeJS start script

No need for Mozilla review. Basic tidy up of top level gcli.js

Signed-off-by: Joe Walker <jwalker@mozilla.com>
jshint-901598: Fix JSHint issues

Signed-off-by: Joe Walker <jwalker@mozilla.com>
refactor-864370: Remove functions unused GCLI web

Signed-off-by: Joe Walker <jwalker@mozilla.com>
shortparam-659269: Add basic support for short parameters

Turned out to be as easy as updating isKnownAs to recognise the short
version of a parameter, and adding parts to pass the 'short' property
around.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
shortparam-659269: Add unit tests for short params

Signed-off-by: Joe Walker <jwalker@mozilla.com>
shortparam-659269: Add short params to connect command

Signed-off-by: Joe Walker <jwalker@mozilla.com>
shortparam-659269: Display short params in help output
refactor-864370: null protect valueEquals

Previously, conversion.valueEquals wasn't null-safe (i.e.
conversion.valueEquals(null) would fail) so callers would have to null
check. This moves the check into valueEquals and simplifies a calling
site in requisition._setAssignmentInternal.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
refactor-864370: null protect assignment.conversion

assignment.conversion can be null, so check for that before using it.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
multiparam-903852: Prevent parameters being specified twice

Previously we wouldn't complain at >> git commit -m "first" -m "second"
But now we will.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
shortparam-659269: Add checks for duplicate short params

You can't have 2 parameters with the same short version. This enforces
that check.

Signed-off-by: Joe Walker <jwalker@mozilla.com>