Support environments with both window and global

Fixes #1340
Closes #1377
feat(runtime): add memoization to genericType()
Support glob patterns in file names while compiling with --out

Hi guys,

I would like for the compiler to support shell patterns in sources' file names when compiling with --out option. Currently we can either use module names or file names/full paths while listing sources for compilation. That is, for example, we are currently doing this:

`traceur --out compiled.js module1.es6.js module2.es6.js module3.es6.js`

with patterns we can do it like this:

`traceur --out compiled.js *.es6.js`

or use any other pattern that glob library supports.

This patch doesn't add much in terms of complexity and since the glob library is already used in the project, we also don't need any new dependencies. It shouldn't cause problems with backwards compatibility because it only affects file names that use glob's special symbols (*, ?, [, ], etc) which are not normally used in file/module names.

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/1542

Closes #1542.
Don't call require('path') in the runtime unless --require is used.

Drive-by: remove redundant code in runtime.js.
Fixes #1531

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/1543

Closes #1543, closes #1531.
We depend on glob >4.3, correct package.json

See also issue #1542

TBR=@arv

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/1547

Closes #1547.
Stop chdir into test for feature tests.

Fixes #1317
Remove require() calls in Loader test.
Fixes #1546

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/1548

Closes #1548, closes #1317, closes #1546.
Move regexpu to devDependencies, as it is not required in deps.
Block binding: Fix issue with sibling scopes

This introduces a new Scope subclass that keeps track of references.
Then we use that to determine if we need to rename the binding or not.

Fixes #1358
recursiveModuleCompileToSingleFile: chdir on reject

Make `process.chdir` to original dir of compilation if failed. For success result chdir revert already exists.

It is needed if you need to execute other scripts after traceur compilation. And if it failed - dir should be changed to original.
Add support for type parameters for classes
Support Web Worker context for polyfills
Improve source-maps=memory.

Correct the key for sourcemaps in mode 'memory'
Add unit test for sourceMaps:memory from interpreter.
Add sourceURL when the input name differs from output name.

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/1534

Closes #1534.
Move ./test/runner.html -> ./testRunner.html.

When run under node, the test system assumes that we start in the root of the Traceur directory.
This assumption is baked into various paths in the tests and expected error messages. To mimic this
assumption in the browser tests we need to move the test file up on directory to the root.
Fixup Loader tests for test/ path.
This is the browser cleanup after removing the 'chdir test'.

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/1555

Closes #1555.
Extends expression should be a LeftHandSideExpression

fixes #1556
0.0.79
Support passing a moduleName for a single file compiles, if required
by the options.
Add basic support for goog.module based imports.

- option to enable goog modules
- golden file based tests
- based on moduleName for the current file