Add parsing support for InterfaceDeclaration

This adds support for TypeScripts interface declarations to the
parser. These are just stripped at this point.
Add option --require to support node require() calls for modules=register

Pass relativeRequire as argument to module instantitor.
ModuleTransformer adds 'require' parameter to module instantitor.
Fixes #1486

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

Closes #1507, closes #1486.
Fix FindVisitor to not start the visiting in the constructor

We used to call visitAny in the constructor, which lead to bad
API where we had to set things on this before calling super.
Add support for union type syntax
Default empty command line arguments to 'true'.

e.g. --require to result in --require=true.

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

Closes #1512.
Ensure that local exports have preference over export *

Whenever an `export *` statement is used, the variable `$__exportNames` is declared as the array of known export names. Before updating a binding for an `export *` item, we first check against this list and skip if already present.

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

Closes #1439.
Fix typo in test
Rename `String#contains` to `String#includes` as per recent TC39 meeting
Parser.parseTypeReference_() takes no parameter
Format ModuleEvaluationError stacks as source.

Module evalution errors have stacks with line number in to functions bodies not files.
Print the source and indicate the errors by markers in the output.

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

Closes #1520.
Jiggle the handle on npm publish.

After several attempts to npm publish failed to send bin/, reorder the 'files'
entries in packages.json and try again.
TBR=@arv

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

Closes #1533.
Rename argument to avoid bug in Safari 5.1.

Argument 'state' in 'set state' cause Safari 5.1 to throw erroneous error

Fixes #1535

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

Closes #1537, closes #1535.
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