Async tests

Impact

  • Able to write #[test] that easily use async functions.
  • In the case of portable libraries, end users are able to re-run test suites with distinct runtimes.