Normalize filenames coming into API to replace backslashes.

Add tests for backslashes in sourceRoot.

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

Closes #1389.
Support circular annotations

With es6-module-loader, it is possible to use circular imports.
Classes from circular imports are not available during the module
evaluation and thus this code fails (`Inject` is undefined):
```js
Foo.annotations = [new Inject];
```

This commit changes the annotation output to use a getter:
```js
Object.defineProperty(Foo, 'annotations', {
  get: function() {
    return [new Inject];
  }
});
```

NOTE:
If the code tries to read `.annotations` or `.parameters` property
during the module evaluation (root context), it won’t work.
Update to regexpu v0.3.0

This fixes a bug with the output for `/\s/u` and `/\S/u`. See https://github.com/mathiasbynens/regexpu/issues/7.

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

Closes #1411.
Don't skip holes in Array#find and Array#findIndex
0.0.67
Rework referrer logic to be independent of traceur directory structure.

The overall output of the compiler in multi-file mode is to create a set of
modules in an output file with names beginning with a versioned package name.
The referrer option is encoding both the package name and the path to the
output file from the root of the package directory. EG traceur@0.0.67/bin.
The source is relative to the output directory (eg ../src/Compiler.js).
The referrer causes these relative names to normalize to package names,
eg traceur@0.0.67/src/Compiler. In locate() we map these names back to
the file system using the uncommon part of the referrer and the output
directory (which is the baseURL).

The module names remain unchanged. The referrer now requires a path
and the internal logic that added a traceur-specific path is removed.

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

Closes #1419.
Fixup build after npm publish.

The Makefile used the wrong referrer for one step
and the bug was not evident until I published and
use the node_modules version to self-compile.

TBR=@arv

Review URL: https://github.com/google/traceur-compiler/pull/1421

Closes #1421.
Manual update version 0.0.68

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

Closes #1422.
0.0.69 on npm has no /bin.

Update to skip 0.0.69.

TBR=@arv

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

Closes #1423.
0.0.71
0.0.72
Update super to match latest spec.

`super()` now means call the proto of the current function.

Therefore we now need to be explicit with `super.method()`.
Fix issue with symbols and for of

With the experimental symbols option we need to expande for-of to
use $traceurRuntime.toProperty.

Fixes #1228
Rename file to have the correct case
Build directly out of node_modules/traceur.

We use the previous compiler from node_modules but
we were copying it into ./build based on old two-pass
self-hosting logic. Here we clean that up so we
have a better understanding of what we are really doing.

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

Closes #1424.
Evaluate modules using node-internal Module._compile() rather than eval.

...).

This allows require() to work alongside es6 import.

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

Closes #1431.
Fix return type assertions & arrow functions

Fixes #1443
Allow undefined/null as source for Object.assign

Fixes #1448
Add parsing support for type generics

Aka TypeArguments. The syntax is taken from the TypeScript spec
and here are some examples:

Array<number>
Map<number, boolean>
a.b<c, d.e, f.g.h>
Correct the relative path for traceur-loaded nodejs modules.

Using Module._compile() causes evaled code to require() relative to the
caller of _compile(). We want the require() to be relative to the file containing
the es6 code we transcoded.

Here we include a file-local function `require()` during transcoding of modules.
The local require() calls a runtime function with the module name and the required path.
The runtime function resolves the required path iff its relative.

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

Closes #1434.