Support ES6 class statements/expressions.

This is specified in §14.5 of the draft ES6 spec: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions, and described via examples at https://github.com/lukehoban/es6features#enhanced-object-literals.  This commit does not yet add support for the 'static' keyword.
Support parsing the ES6 'static' keyword.

This is defined in the ClassElement production in §14.5 of the draft ES6 spec: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions, and usage examples are available at e.g. https://github.com/lukehoban/es6features#classes.
Support parsing the ES6 'super' keyword.

This is basically implemented by imitating the handling of 'this', since they behave in very similar ways.  The keyword is defined in the various productions in §12.3 of the draft ES6 spec: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-left-hand-side-expressions, and usage examples are available at e.g. https://github.com/lukehoban/es6features#classes.
Fix string literals in parser.el test harness.

Previously all string literals in tests would fail, because they referred to a temporary buffer that no longer exists.  This fix works around this by extending the life of the temporary input buffer.