Implement async arrow functions

Fixes #992
Added Set and updated Map to include iterators

This adds:
- Set
- forEach for Map and Set
- entries, values & keys to Map
- values to Set
Calling g.throw(e) on a closed generator g should throw e, not a new error.

According to 6 and 7 of https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generator.prototype.throw, calling the throw method on a closed generator should throw the error passed in, not a new error.

Fixes #1025.

Depends on #1006.
Use an object's `@@iterator` method when spreading

Instead of converting the argument to an object and assuming it is an array-like object with numeric properties and a length property, $traceurRuntime.spread should use the object's @@iterator method and throw a TypeError when the argument is not an object.

See http://people.mozilla.org/~jorendorff/es6-draft.html#sec-runtime-semantics-arrayaccumulation

Fixes #842
Fix issue with test runner not reporting failures

Also fix exposed failures.

Fixes #1047
Fixes #1048
Fix a bunch of issues with Map and Set

- Add Set.prototype.keys
- Set.prototype.forEach had the wrong callback.
- Stale reference to .items
0.0.44
Remove ErrorReporter use in InternalLoader. Throw from LoaderHooks.

(Next step will use promises for communicating errors from LoaderHooks)
Remove unused ErrorReporter in ModuleSpecifierVisitor

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

Closes #1052.
Fix hoisting of let/const declarations.

Only hoist top-level let/const declarations and fix bug with
initializers of hoisted declarations.

Fixes #1028.
Array.from polyfill
Simplify command line and options processing.

Remove some special case flag processing and rely on commander.js more.
Move referrer option from System to options.js.

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

Closes #1061.
Add command line option --module <module-name>.

  Allows scripts and modules to be compiled in any order.

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

Closes #1064.
Only add System.get() evaluator for modules=register.

Fixes #1066

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

Closes #1067, closes #1066.
Destructuring and cover grammar fixes

This changes the strategy from using a transformer to transform the
cover grammars into rewinding the scanner and reparsing using the
target grammar.

This also introduces a AssignmentElement which is used for the
elements of the assignment pattern (like BindingElement which is used
for binding patterns (and default parameters).

Fixes #183
Fixes #836
Fixes #838
Fixes #969
Fixes #1015
Typos

Left over fixes from 1f117083158f42ad3195af7e5399955a62101fa9
Polyfill Reflect.global

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

Closes #1070.
Generate code that uses Reflect.global for global

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

Closes #1071.
0.0.45
Move compile from src/node/api.js into src/Compiler

Fixes #1002
Improve temp variable handling for destructuring transformer

This fixes an issue where we added the temp variable outside the
function body when transforming destructuring for formal
parameters.

Fixes #1063