Refactor generator runtime generatorWrap to reduce code duplication

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

Closes #717.
Loader prototype module

Loader.prototype.module no longer takes a name param and we do not register the module in the module registry.

With the old code we got the completion value out of `module` but not any more. The value out was a Module which cannot be toString'ed so I remove the result from the repl.

Also, while I was fixing the repl I fixed a few repl bugs that have been piling up.

Fixes #710
Fixes #713
Fixes #634

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

Closes #716, closes #710, closes #713, closes #634.
Clean up generator code further

- Pass `this` into runtime function so that the function is called with the right context. Removes the need for `$that = this`
- Use an alpha renamer for `arguments` and detect if `arguments` was present.
- Move shared code to super class.
- Remove unused imports.

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

Closes #719.
Generator collapse end state

We used to always output

```js
case 4:
  $ctx.state = END_STATE;
case END_STATE:
  ...
```

Now we skip the state before the END_STATE.

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

Closes #720.
Removed rest and destructuring until we have the ability to parse those types correctly
Merge remote-tracking branch 'upstream/master' into assert-types

* upstream/master:
  Generator collapse end state
  Clean up generator code further
  Loader prototype module
  Refactor generator runtime generatorWrap to reduce code duplication

Conflicts:
	bin/traceur.js