step_func propagates result, add unreached_func, Promise examples

In async tests, using testharness.js effectively requires that
callbacks are wrapped with step_func() calls so that assertion
failures are caught by the test harness. Promise chaining requires
that the callbacks return values, so step_func() needs to return the
value returned by the wrap function, in normal cases.

This adds some examples of Promise functionality (assuming ES6 promise
support in your browser) and the step_func fix, as well as
test.unreached_func which is handy for assigning to callbacks or
Promise catch clauses.
Remove copy/pasta
Merge pull request #71 from inexorabletash/inexorabletash/promise

step_func propagates result, add unreached_func, Promise examples
Unbork IE support (JSON srlize/parse passed props)
Added comment for IE workaround.
Merge pull request #72 from w3c/sideshowbarker/properties_pass

Unbork IE support (JSON srlize/parse passed props)
Include a copy-pastable template for new tests
Merge pull request #73 from w3c/copy-pastable-template-in-comment

Include a copy-pastable template for new tests