Async: Implement new `assert.async` mechanism

Fixes #534
Async: Tests are now Promise-aware

Fixes #632
Ref #534