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.
I do see your point. However, I want to notice that this patch is not just a tiny fix or addition of small feature, but it contains pretty much of new authored code (according to [GitHub stats](https://github.com/RReverser/acorn/graphs/contributors), it consists of almost as much contributions as yours in the project before). And the only thing I'm asking - if you don't mind, of course - is to be included so I would have copyright on this code. That's anyway doesn't affect open-source status of the project nor your authorship of it.