Port Facebook middleware from Katana.

Depends on https://github.com/aspnet/HttpAbstractions/pull/113
TODO: CoreCLR WinHttpHandler does not yet support custom server cert validation.
See aspnet/HttpAbstractions#116