Updated Symbol test to also check defineProperty

This updates the Symbol test to check that symbols can be used as keys
in Object.defineProperty arguments, not just in bare assignments. This
doesn't change any of the test's historical results, though.
Check for ES5 Object methods before using them

This updates the Symbol and Object#__proto__ tests so that ES5 methods
are either not used, or checked for existence beforehand.

Note that Object#__proto__ still requires
Object.getOwnPropertyDescriptor outright, simply because it's impossible
to verify that it is indeed an accessor property on Object.prototype
(instead of just special syntax) without it.
Added 2 extra let tests

These tests check for the temporal dead zone, and correct for-loop
iteration bindings. They are distinct from the basic let-test, as they
represent more advanced or nuanced functionality.
Altered the TDZ test to include const

Both const and let are subject to the temporal dead zone.
Fixed a small bug

Also updated IE11 support for for-loop iteration scope.
Const test now checks that assignment is an error

Assigning to a const should be a syntax error. This commit does not
update the test results to match this stricter test, yet.

This also fixes tabs introduced in previous commits.
Updating const results

Almost everything fails this updated test by treating const reassignment
as a silent failure instead of a syntax error.
Updated TDZ test results

Also fixed a bug in the Node test script.
Fixed Traceur result for the let-for test

Also made the test's code less wide.
Added explanatory notes about let/const support
Added an anti-hoisting check to the const test

I was previously hesitant to include this, but since most platforms'
const support is invalidated already by their lack of error-throwing,
adding this check doesn't disturb the results at all.
Implemented browser results interpolation

Now, if a result from a browser's version is not different from that of
its previous version, the result need not be recorded in the data files.
Instead, build.js will copy the result over automatically.
I've thus cleared out all unnecessary lines from data-es6.js. This has
resulted in a large diff, but you may observe the es6/index.html diff to
see that little has changed w/r/t the output results.

Note: browsers are determined to be the same version by comparing their
"full" string. As a result, certain older Chrome versions now have the
"full" string "Chrome, Opera", even though they predate Opera 15.

ALSO:
* Fixed a few Chrome and Firefox results as per #239.
* Fixed some older Firefox results that referenced "firefox28" instead
of "firefox27" (which comprises both 27 and 28).
Merge branch 'lettests' into all
Merge branch 'firefox35a' into all
Merge branch 'defineproperty-symbol' into all