refactor(client): make RequestBuilder non-generic
refactor(client): make RequestBuilder non-generic

Improve the compile-time of downstream crates that use RequestBuilder,
by not forcing them to remonomorphise and recompile its non-generic
methods when they use it: with this change, they can just call the
precompiled versions in the `hyper` object file(s). The `send` method is
the major culprit here, since it is quite large and complicated.

For an extreme example,

    extern crate hyper;
    fn main() {
        hyper::Client::new().get("x").send().unwrap();
    }

takes ~4s to compile before this patch (i.e. generic RequestBuilder) and
~2s after. (The time spent interacting with LLVM goes from 2.2s to
0.3s.)

BREAKING CHANGE: `RequestBuilder<U>` should be replaced by `RequestBuilder`.

golddranks/hyper,tshepang/hyper,softprops/hyper,markuskobler/hyper,hyperium/hyper,tshepang/hyper,jmmaranan/hyper,Twey/hyper,fengsp/hyper,Keats/hyper,tshepang/hyper,markuskobler/hyper,Twey/hyper,hyperium/hyper,Keats/hyper,mfeckie/hyper,nickgonzales/hyper,nickgonzales/hyper,Keats/hyper,markuskobler/hyper,Twey/hyper,fhahn/hyper,hannobraun/hyper,hannobraun/hyper,hannobraun/hyper,achanda/hyper,yazaddaruvala/hyper,hyperium/hyper,golddranks/hyper,sfackler/hyper,yazaddaruvala/hyper,golddranks/hyper,nickgonzales/hyper