HttpConnection: Add a ctor that takes {Send,Receive}Frame instances
HttpConnection: Add a ctor that takes {Send,Receive}Frame instances

This constructor now allows clients to inject any type of `SendFrame`
and `ReceiveFrame` instances, making the `HttpConnection` decoupled from
the underlying IO that is required to obtain the frame or write the
frame.

gwicke/solicit,mlalic/solicit,tempbottle/solicit,stepancheg/solicit