ES6 support

Working features:

* Unicode Code Point Escape Sequences (`\u{ABCDEF}`).
* Numeric Literals (octal, binary).
* Arrow Functions.
* Spread Element.
* Classes.
* Destructuring assignments.
* Computed object properties.
* Object methods.
* Shorthand object properties.
* `for (... of ...)` loops.
* Array Comprehensions.
* Modules. (newest specs)
* Template Strings.
* Generators.
* Generator Comprehensions.

Closes #78.
Are you okay with a `copyright by Marijn Haverbeke and others` combined with an `AUTHORS` file (generated from the git history) that lists all individual contributors, re-generated on every release? Adding everyone to `LICENSE` individually by hand is going to A) create a noisy license, and B) produce a lot of commit noise.