Report a clear error if the traceur runtime is missing when

For the case where generators.js runs without a runtime.js first.
Fixes #1504

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

Closes #1505, closes #1504.
Split System.register into .register() and .registerModule().

'instantiate' -> .register()
'register' -> .registerModule()
This allows the two formats to evolve independently.

Add `require` argument in prep for sending relativeRequire via function arguments.

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

Closes #1500.
Add parsing support for more type syntax

This adds support for

 * ArrayType
 * CallSignature
 * CosntructSignature
 * ConstructorType
 * FunctionType
 * IndexSignature
 * MethodSignature
 * ObjectType
 * PropertySignature
 * TypeParameter

The only remaining type syntax left from TS 1.0 is the TypeQuery type
expression. (Interfaces and declare as well).

This does not yet add runtime asserts for any of these.
Pass options object into scanner

This is tested by making sure that the options used by the
PlaceholderParser are propagated to the scanner.
Fix issue with windows file paths
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.