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.
I don't want to do significant re-designs at this stage. Such items should be filed as follow-up work items.