asynctypes-685526: Tidy-up while sync with Firefox

Updates while syncing code with firefox. Includes:
- Be more conservative about checking options in helpers
- Be consistent about using message rather than error in helpers
- Remove some commented out code
- Update firefox test wrapper code
landjetpack-793928: Move promise library in moz-central

Catchup with change to mozilla-central: Switch users of the promise
library to the new location and move tests files.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
asynctypes-685526:  Add 'use strict'

GCLI code was being used in firefox in a strict context, and was
breaking due to an undeclared variable in cli.js, so we went strict
everywhere except for a couple of test files where it wasn't clear
where the best place for the 'use strict' line is, and domtemplate
which uses 'with'.

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

- Unindent gclitest/index.js. Very small files are indented in the
  module header (they look weird otherwise) where large files quickly
  lose the context, so are not indented. gclitest/index.js had grown
- Remove unused import.

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