Add async expectations "will" and "willNot`

- Overload "expect" DSL to take a closure and return a closure "actual"
- Closure actuals respond to "will" and "willNot", returning asynchronous
  expectation objects
- Async expectations repeatedly evaluate the closure before timing out.
- Currently, matchers must extend both regular and asynchronous matchers.
  This is a design flaw which should be fixed.
README: add section on expectations