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

Fail assertions after existing `assert.async` flows are resolved.

Fixes #668
Closes #669
Still bound to `currentTest` but now we try to get `currentTest` via `this`/`assert` first before deferring to the global pointer.