Add a custom http agent with connect timeout support

This is a copy of the patched http agent we have been using in Parsoid for a
while. It adds a timout for the connection setup (5 seconds by default), which
avoids sockets hanging for a long time when a host is not actually reachable.
Release preq v0.3.0