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

Improves test coverage, cleans up tests for consistency. Updates `ok`
assertion to always use `push`.

Fixes #668
Closes #669