Support return yield expr using explode expression transformer

Use ExplodeExpressionTransformer to create a state machine for the return expression.

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

Closes #859.
Use ExplodeExpressionTransformer for ExpressionStatement

Use explode expression transformer on expression statement. This allows us to remove all the remaining preprocessing of generator functions.

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

Closes #865.
Remove redundant call to .replace() in url.js

Thanks to @errorx666 for the bug report, #869

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

Closes #871.
Add support for yield yield

Expand the yield expression if needed and transform that into a machine. Now we correctly support `yield (yield expr)`

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

Closes #866.
Add support for yield in if condition

If the condition of an if statement contains a yield we create a state machine for that expression.

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

Closes #867.
Add support for yield in switch expression

This allows us to support

```js
switch (yield expr) {
```

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

Closes #868.
Fix issue with ParseTreeWriter generating invalid code

Fix issue with ParseTreeWriter generating invalid code for `1 .member`