issue #979 RaceCondition Nailed

@zacronos @kandizzy @gitnik @cthrax 
I will get to commenting on the PR in a few minutes. This is 3 days worth of work and a whole Sunday of thinking about it.

Everything is based of discussion and ideas @aesnyder and I had on canceling promises.

Seriously complicated PR, and I plan on doing a hangout with @aesnyder and with anyone who cares
ok, the key here is logTryCatch will return a boolean, which will only be false on `'cancel safe'` . I am up for alternatives but I feel a boolean is too dangerous as this is evaluating the return of the chunk callback.

This allows keepGoing to be set to false and exit the async iterator gracefully. This allows nothing to be rendered in midstate (where state does not relflect what is drawn). The exact opposite of this is doing promise.reject.