Extract HTTP::Connection ala Reel (WIP: DO NOT MERGE)

This is a work-in-progress commit to structure the connection management and pipelining closer to what is presently used today in Reel.

Much of the code is modified copypasta from Reel. I wish there were a more DRY abstraction for this sort of thing (reusing client/server parts of HTTP libraries) but if it exists it presently escapes me.

As there seems to be a lot of interest in this library as of late, I'm posing my (still nowhere near complete) WIP work for some early review. I wish there were a better way to break this change apart into a series of smaller, more easily reviewable changes, but as this is full blown "catching up to Reel" I'm not sure how that's possible.

Comments strongly encouraged!