Use TypedOutput for Requests.

Refs #141.
Merge pull request #152 from square/jw/request-typed

Use TypedOutput for Requests.