Remove Closure Library dependency

We no longer use Closure Library for testing.

Review URL: https://github.com/google/traceur-compiler/issues/285

Closes #285.
Fix `StringParser` escape parsing in `LiteralToken.js`.

The iterator plumbing was not hooked up correctly.

This should fix #294.

Review URL: https://github.com/google/traceur-compiler/issues/295

Closes #295, closes #294.
Introduce FunctionBlock tree and refactor to share more code

This also cleans up some of the ParseTree is* functions to better match the ES6 draft.

Also introduces ParameterTransformer which handles the prepending of statements to the function body for destructuring, rest and default parameters.

Fixes #287

Review URL: https://github.com/google/traceur-compiler/issues/290

Closes #290, closes #287.
Add constructor to Deferred.

Fixes #293
Array comprehension: Move temp var into function expression.

Manage the temp var manually instead of using `addTempVar` and pass in a `prelude` statement.

Fixes #296

Review URL: https://github.com/google/traceur-compiler/issues/298

Closes #298, closes #296.
Declare temp vars in the closest function scope

Allow spread temp vars to be reused in the same function scope.

Review URL: https://github.com/google/traceur-compiler/issues/286

Closes #286.
Make generators used a boxed return value.

Now the generator returns `{value: any, done: boolean}`. Instead of throwing a
StopIteration when it is done you can check the done property of the return
value.

Generator close has also been removed (it was agreed on es-discuss that we do
not need this in ES).

Fixes #299

Review URL: https://github.com/google/traceur-compiler/issues/300

Closes #300, closes #299.