(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
It might be even better to just have status be an Option<Status>, default it to None, then set it to Some(status) in serve and serve_file. This breaks code that modifies status directly, but that should be a quick fix and this will dramatically simplify the logic for when to send 404's by default.