Fix issue with this and arguments in deferred functions

Fixes #425

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

Closes #432, closes #425.
Add support for import/export default

This adds support for

```js
export default 42;
```

and

```js
import x from 'm'
```

The default export gets exported using the name `default`.

Fixes #427

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

Closes #433, closes #427.
Auto generate the import for ParseTreeTransformer

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

Closes #440.
inline module runtime helpers

This is a first step towards https://github.com/google/traceur-compiler/issues/437, just supporting the standard helper inlining for modules as is given by scripts.

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

Closes #438.
Follow up change to RuntimeInliner

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

Closes #441.
Fix issues with tree writer for modules and default export

Fixes #439

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

Closes #442, closes #439.
Change class transformer to use hoisting

We now generate FunctionDeclarations, which hoists as needed.

For example:

```js
class B {}
```

generates

```js
function B() {}
$__class(B, {}, {});
```

and

```js
class B extends C {
  constructor() {}
}
```

generates

```js
function B() {}
$__classExt(B, {}, {}, C);
```

These two are the simlest case. When we use `super` we need to capture a binding to the proto parent.

For ClassExpression we still need to use an IIFE to encapsulate the name and/or the proto parent.

Since we are no longer wrapping the code in an IIFE at all times we need to inject `'use strict'` into the function bodies if the enclosing code is not strict.

This also adds support for a transformer to return more than one tree by returning an `AnonBlock`. Anonymous blocks are flattened in `transformList`.

Fixes #322

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

Closes #436, closes #322.
Indent variable statements

We now indent multi variable declaration 4 spaces:

```js
var x,
    y = 42,
    z = [];
```

Fixes #419

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

Closes #443, closes #419.
Fix code gen for classes so that the stack trace looks nicer.

Wrap runtime calls in parens so that `$__class` does not show up in stack traces.

Merge `$__class` and `$__classExt` into one function.

Restructure the temp vars a bit to provide cleaner stack traces.

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

Closes #444.