Extract spread runtime code into a new file

The intent is to make the runtime library more modular.

See #1007
Use undefined as trigger for default value for destructuring

Previously we used an in check which is no longer the semantics
of ES6.

Fixes #1013
Show the whole error stack on load failure

This is in reference to issue #1018

Currently only the original error message is shown. This pull request includes the whole error stack, which immediately points the user to the offending failing line.

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

Closes #1019.
Fix issue with object literal in the destructuring initializer

When we have

```js
({x = {y: 1}} = expr);
```

we ended up transforming `{y: 1}` as well which leads to an invalid
parse tree.

Fixes #1011
Extract class runtime functions into own file

See #1007
Extract generator runtime into its own file

See #1007
Move Object assign, is and mixin to polyfill directory

Move these method out of runtime.js

See #1007
Calling .next() on a closed generator shouldn't throw

`next()` on a closed generator should just return `{value: undefined, done: true}` instead of throwing an exception.

Fixes #841

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

Closes #1006, closes #841.
Catch rejections in WebPageTranscoder.

Remove call to ErrorReporter inside of Loader: all callers of Loader
are responsible for error handling via reject handlers.

Fix latent error codeUnit.address_.

Follow-on fix to issue #1018.

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

Closes #1023.
Async functions should not be generator functions

Fixes #1009
0.0.43
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.