(feat) Response Modifiers

Response modifiers replace the need for a combinatorial
explosion of constructors and a chaining API that chooses
between mutation and ownership by providing a simple
chaining API that works with both!

Deprecates most of the Response constructors in favor
of using `Response::new` with a series of `set` modifiers.

The Response constructors will be removed in the future.

This also boxes HeaderCollection to make moving Response
much faster, which makes this a [breaking-change].
We might use modifiers for other types in the future.