(feat) Wrapped http::Request and http::Response

!#[breaking change]

Request and Response are now iron-defined wrapper structs with ergonomic
fields and convenience methods that don't require mixins. This is a short-term
bug that will require changes but is a huge long-term win as it gives us total
control over our API and removes our direct dependency to rust-http.

Fixes #105
Fixes #94
Fixes #93
Do we want to include the original requested url as a separate field? It would make downstream middleware cleaner.

However, it would not be guaranteed to be immutable, so it may be a dangerous addition.

An idea.