ES6: Updated the default parameters test

Added the following checks:
* Explicitly passing undefined defers to the default
* Later defaults may reference values of earlier parameters

This doesn't add the following "pedantic" checks:
* Earlier defaults may not reference values of later parameters
* Defaults may use the arguments object.
* Defaults affect the function length property.
Updated the generator test to include yield*

The yield* keyword, as you know, successively yields values from the
given iterable until it's exhausted.

This also removes the "application/javascript;version=1.8" version of
the test, which actually didn't influence anything in Firefox w/r/t
this feature.

This test change doesn't alter any of the support results.
ES6: Improved the template strings test

This splits the template strings test into two tests: one that checks
basic expression interpolation (e.g. `${expression}` syntax) and one
that performs various tagged template function checks (including checks
for all of the arguments).
Merge pull request #210 from webbedspace/generators

Updated the generator test to include yield*
Merge pull request #191 from webbedspace/defaultparam

Updated the default parameters test
Merge pull request #205 from webbedspace/templatestrings

ES6: Improved the template strings test
ES6 test functions in multi-line strings

This updates the build script, allowing it to interpret ES6 code
expressed in function comments instead of concatenated strings (see #190
discussion) - which is then wrapped in try-catch, eval() and test()
structures automatically.

Also, the runtime script has been updated to unwrap those same
structures for the tooltip preview, making the resulting display cleaner
- lacking even the test() call wrapper.

Only some ES6 and non-standard tests have been converted to make use of
this format, for the moment. The remaining tests are subject to
pull-requests at this moment and will be addressed after those are
resolved.

NOTE: as this drastically affects the output of all HTML files, they
have not been included in this commit, to allow merging to pass
smoothly.
Updated/fixed some tests

Converted these tests to multi-line comment strings: super, defaults,
modules, generators, octal and binary literals, template strings. And on
the non-standard side: array comprehensions, for each..in, and generator
comprehensions.
Tooltip preview code now stored as data attr

Instead of converting the innerHTML of the <script> attribute at
runtime, the code is now stuffed onto a HTML attribute on the <script>
element at build time.

Also fixed some whitespace.
Updated some more tests to multi-line strings

Also fixed some capitalisation inconsistencies and updated some old
links.
Added notes to {__proto__} test

Firefox incorrectly allows the __proto__ syntax to affect shorthand
methods and shorthand properties, when in reality it only affects the
PropertyName : AssignmentExpression production.

Also added a check to ensure that __proto__ works with null. The results
were not affected by this.
Updated README.md
Merge pull request #209 from webbedspace/test-code

ES6 test functions in multi-line strings
Merge pull request #223 from webbedspace/null_proto_literals

Added Firefox notes to the {__proto__} test
ES6: Added tests for each Proxy handler

This adds tests for the Proxy get, set, has, deleteProperty,
getOwnPropertyDescriptor, defineProperty, getPrototypeOf,
setPrototypeOf, isExtensible, preventExtensions, enumerate, ownKeys,
apply and construct handlers.
EJS support is inferred from the source.

Also fixes a few other results for old Firefox versions.

Sorry that this diff looks terrible, but if you run `git diff
--minimal`, it more accurately reflects the changes.
Added missing property names to the Reflect test
Added a Proxy.revocable test