The `Request` and `Response` module types now explictly signal `Eof`

and `Invalid` (for errors), to help the backend distinguish them.

Also fixes pipeline handling for multiple requests in Async.

Closes #94