Use import instead of destructuring

This is a followup to 0ffc2c0c96542c5aa8766dbd79d2b7f1dbfc481a. By using import we get static error checking which found some minor bugs.

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

Closes #430.
Fix syntax error on Safari 5.1.

Old versions of Safari did not support string names for accessors.
For example the following did not work:

```js
var obj = {
  get "foo"() {}
}
```

Closes #417
Closes #434
Publish demos on gh-pages, fixes #220

Add index.html that redirects to wiki GettingStarted.
Add make target wiki and wikiclean, to refresh compiled content.
Add greeter compiled content to test site.

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

Closes #418.
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.
Merge branch 'master' into runtime-deferred

Conflicts:
	bin/traceur.js
	src/codegeneration/generator/AsyncTransformer.js
Hacky working
wip