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

Fail assertions after existing `assert.async` flows are resolved.

Fixes #668
Closes #669
Added a handful of tests for the discussed scenarios.