Partial results

Closes #275. I tried to split as many tests as time permitted into subtests, reusing as much of the work I'd put into #258 as possible. The subtest groups are currently:
* arrow functions
* const
* let (this closes #131)
* spread
* class
* octal/binary
* template strings
* typed arrays (this closes #246)
* Proxy
* Reflect
* destructuring
* Symbol
* Well-known symbols
* RegExp.prototype
* Math
I could also extend this to Number, Array and String methods in the future, but I think this is enough for now.
New subtests (e.g. the `Number()` check for octal/binary) were designed to eliminate as many footnotes from the table as possible.

The browser results tally now uses each subtest tally fractionally - e.g. a test with 2/4 counts as 0.5 of a feature - but the tally itself is rounded to aid readability.

The subtest results data also use differential records, as previously pitched in #241 (this closes #224).

THIS ALSO CLOSES #279!

Again, feel free to point out bugs, etc.