Response is now tied to originating Request, fixes #86

Previously, responses were generated independently of requests; This made it difficult to modify
the response out-of-band (like inside the framework on the users behalf, or in a filter). Now, you
can use `request.response` to access the response from any context in the framework or filter. See
`RequestResponseSpec` for details.

This change also renames Response to ResponseBuilder, which better describes the purpose of
this class.