leak-795988: Remove the global commandOutputManager

Sharing a commandOutputManager wasn't the common case, and it caused
confusion, so we make the default to be one commandOutputManager per
requisition, and allow configuration to share them.

This means that Requisition adds a 3rd parameter (a custom COM) which
defaults to a new COM if null. This is then used by tests and Display
implementations to configure a COM. Focus and OutputTerminal then use
the COM in their Requisition rather than having an explicit COM of
their own.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
leak-795988: Tidy up NodeType empty node list

Potential leak from storing data for longer than we should.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
leak-795988: Update event logging output

We were getting some error messages about event listeners on shutdown
while looking for memory leaks. This clarifies the logging situation
and allows us to use eventDebug while running from node (which we do to
help with unit tests)

Signed-off-by: Joe Walker <jwalker@mozilla.com>
leak-795988: Fix event removal filter logic

Previously we would remove an event handler if either the function or
the scope matched. This fixes that error, and clarifies the logic.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
leak-795988: Correctly remove resize handler

We were incorrectly removing an event handler that we hadn't added in
some situations. Whilst this didn't actually cause a memory leak, it
did confuse the event logging.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
docs-796881: Clarify testing/contributing docs

Signed-off-by: Joe Walker <jwalker@mozilla.com>
docs-796881: Fix markdown link typo

Signed-off-by: Joe Walker <jwalker@mozilla.com>
leak-795988: make environment data self-describing

42 was somewhat cryptic (it was just something other than nothing) so
replace this with something more self describing.
See also https://bugzilla.mozilla.org/show_bug.cgi?id=795988#c15

Signed-off-by: Joe Walker <jwalker@mozilla.com>
Merge branch 'leak-795988'
Merge branch 'perf-817543'
Merge branch 'master' into asynctypes-685526

Conflicts:
	lib/gclitest/testExec.js
asynctypes-685526: Comment out failing test

Some tests were not being run correctly due to a s/hint/hints/ bug
which caused us to raise bug 829516.

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