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
Remove the need for inputFileExtension_

We no longer care what the file extension is since we do not append
a file extension when we resolve the module URL.

Fixes #1544
Refactor sourcemap generation to combine generator and sourceUrl.

This helps ensure the generator has the same sourceURL as the //# source.
Update SourceMap.js test.

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

Closes #1561.
Add Math polyfill

This implements the new ES6 Math functions.

The implementation is based on V8 and MDN as well as the spec.

The tests are mostly just smoke tests. I'm not testing a lot of
edge cases.
Make sure we reinitialize let bindings in loops.

In case we had a let bindings without an initializer inside a loop,
make sure we initialize it to undefined.

Fixes #1567
Array destructuring should use iterators

The assignment

  [x] = obj;

should desugar to something like:

  $tmp = obj,
  $iter = $tmp[Symbol.iterator](),
  $iterResultObject = $iter.next(),
  x = $iterResultObject.done ? undefined : $iterResultObject.value;
  obj

When you add holes, spread and default initializers it gets even
hairier.

Fixes #840
Implement `Promise.all(iterable)`
Only turn member variables into getters/setters if type assertions on

fixes #1530

Generating getters and setters is a way to add assertions on the return
type and argument.
However getters and setters are generally slower (V8 expected) then they
are only generated when required (type assertions on).
Write the .map file in the same directory as the output file.

Fixes #1538

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

Closes #1539, closes #1538.
Add EditorConfig

More info: http://editorconfig.org

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

Closes #1573.
add http://editorconfig.org
Support passing a moduleName for a single file compiles.
Add basic support for goog.module (Closure) based imports.

- option to enable Closure modules
- golden file based tests
- based on moduleName for the current file
- fails for export *
Merge branch 'master' into refactor_recurisveModuleCompile_with_promises

Conflicts:
	src/node/recursiveModuleCompile.js