Avoid attaching error handlers to Promises returned by async functions.
Avoid attaching error handlers to Promises returned by async functions.

It's important for distinct AsyncIterator iterations to be protected from
previous errors, and that's why I was previously attaching an empty error
handler to the enqueueResult Promise.

However, in the case of simple async functions, which are implemented as
single-iteration AsyncIterators, there are no previous iterations to worry
about, so the error handler only needs to be attached at the beginning of
the second (or later) iteration(s).

Avoiding attaching unnecessary error handlers allows Promise
implementations to provide better warnings around unhandled rejections,
whereas previously the Regenerator runtime was making that difficult.

Closes #175.

facebook/regenerator,RReverser/js-goto-transpiler,facebook/regenerator,RReverser/js-goto-transpiler,facebook/regenerator