Add support for await inside try-catch

- `await` can now be used inside the body of `try` and `finally`
- using `await` inside the cases of a `catch` is illegal
- provides precise error messages ("await must not be used under catch")
- documents `mkHandlerCase`
- adds 11 tests

Review by @retronym