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
Commit the generated code to gh-pages.
Rebase.
Recompile
Recompile
Update built files after merge
Rebuild traceur-runtime
Update runtime and commit binary
Rebuild
Recompile
Merge and rebuild
Rebase; commit binaries for 0.0.39
Rebase; commit binaries for 0.0.40
Rebase; commit binaries for 0.0.41
Rebase; commit binaries for 0.0.42