Fixed several test code bugs

Fixes #329, #330, #331, #332, #333, #334, via the following:
* Changes the definition of `__createIterableObject` to use `Symbol.iterator` first, thus correcting the "instances of generic iterables" tests (which wrongly failed implementation with both `Symbol.iterator` and generators).
* Changes the "`yield *`, generic iterables" and "`yield *`, instances of iterables" tests to use `__createIterableObject` instead of generators to produce the iterable.
* Split off the defaults "temporal dead zone test" into a "separate scope" test.
* Fixed the Proxy "define property" handler test not making the handler return a boolean.
* Fixed several mistakes in the function "name" property tests.
* Redid the "hoisted block-level function declaration" test, updating its results accordingly.
* Fixed the `Symbol.hasInstance` test to use Object.defineProperty, to overcome a limitation of Function instances.