The expression await_ready is required to be contextually convertible to bool and await_suspend must be a prvalue of either void or bool.
This patch adds diagnostics for when those requirements are violated.
It also correctly performs the contextual conversion to bool on the result of await_ready
I would drop the leading 'the' from both of these diagnostics for consistency with our normal terse sentence fragment style.