Switch reference implementation/tests to ES6.

I was getting really annoyed trying to replicate destructuring semantics in ES5, so I just switched. Plus class syntax and arrow functions and shorthand methods... delicious.

Also fixed a number of minor conformance issues along the way, and did a pass through the tests to make them have similar styles and updated variable names.

/cc @arv @johnjbarton for Traceur usage review (check out run-tests.js, mostly).

/cc @othiym23 since much of this was originally his work.