HTTP Better

Adds keepalive, but only via creating an Agent and turning it on explicitly.  Other than that, mostly cleanup and code organization.  There's more to be done, but it's mergeworthy now, imo.