Report an error on circular dependencies.

Add a test for circular dependency.
Detect and report useful error message:
"Unsupported circular dependency between feature/Modules/ImportCircular.module
and feature/Modules/resources/clockwise"
See issue #684.

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

Closes #728.
Clear the ModuleStore cache when registering modules

Throw on duplicate calls to ModuleStore.registerModule.
Add test for duplicate calls to ModuleStore.registerModule()

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

Closes #715.
Remove the hack to allow .js module names.

This hack was to be transitional only.
Update semver

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

Closes #730.
lib/system-map.js from https://github.com/guybedford/systemjs.git.

Copied at beae8195d. License MIT.

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

Closes #726.
define Loader.define(name, src)

Fixes #729

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

Closes #732, closes #729.
Use system-map to map tracuer module names.

Use system-map to map tracuer module names.
Convert system-map.js into es6 module exporting applyMap.
Apply map to System.normalize().
Change import specifiers in repl to load out of bin/traceur.js, not reccompile traceur.

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

Closes #727.
ClassDeclaration should bind the name inside the body

ClassDeclaration should bind the name inside the class body.

Fixes #567

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

Closes #734, closes #567.
Add back traceurRequire

This adds back a way for Traceur to provide a require for Node.js

This now compiles the required file using the CommonJsModuleTransformer, which means that recursive imports will only work if makeDefault has been used.

This feature was removed in #604

Fixes #722

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

Closes #723, closes #722.
Added check for name property and fall back to toString for IE.

Fixes #735

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

Closes #739, closes #735.
Add comment callback to scanner and parser

This adds a hook to the parser that can be used to later attach comments to the tree.

#206

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

Closes #738.
Make SyntaxErrorReporter extend ErrorReporter

Followup for #723
Sourcemap option replumbing

Set options on mutable System object rather than arg to LoaderHooks.
Avoid exception on anonymous modules requesting source maps in repl.
Pass source-map via destructing rather than on options (partial).

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

Closes #741.
Fix SyntaxErrorReporter and add unit test

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

Closes #745.
Return Promise from Loader.import/module/define/loadAsScript/script.

API changes: no callback args.

To update code, replace any callback arguments with .then(callback, errback):
  loader.import(name, {}, callback, errback);
become
  loader.import(name, {}).then(callback, errback);

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

Closes #747.
Reorganize InternalLoader (as driver) and LoaderHooks (as services).

Move semantics/ModuleAnalyzer and /ModuleSymbol to codegeneration/module
Rename ModuleAnalyzer to ExportListBuilder.
Rework calls to ExportListBuilder to separate codeUnit from trees.
Move LoaderHooks.transformDependencies to Loader.

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

Closes #748.
Fix issue with labelled blocks in generators

Labelled blocks, needs to be handled similar to the loops where we have to transform the break statements.

Fixes #605

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

Closes #750, closes #605.
Test Promise reject path for Loader.import/define/module/script/load.

Fix .script(), it was not rejecting.

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

Closes #751.
Refactor InternalLoader to use promises

Refactor InternalLoader to use promises instead of ad-hoc listener interface.

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

Closes #756.
Implement --script command line option to parse as Script.

Option --script followed by name of a file to be parsed as Script.
Default changed: now files are parsed as Module.
Test changes to verify values via globlals (modules have no value).
Module compilation simulates System.import() but post-pending
 System.get(normalizedName) to the output.

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

Closes #760.
Update version to 0.0.21

I should have updated the semver in the previous commit. Now I will have to do it twice.

TBR=@arv

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

Closes #761.