Async: Fail assertions after existing assert.async flows are resolved

Fail assertions after existing `assert.async` flows are resolved.

Fixes #668
Closes #669
P.S. I can also add a test outside of this module if you'd like proof that `assert.throws` will normally fail in this situation. Let me know if you think that's valuable.