Async: Implement new `assert.async` mechanism

Fixes #534