* use a deferred event to schedule a new http request - that way we
  don't run into confusing stacks when we try to schedule a new http
  request after being called from the callback of the completing HTTP
  request.
* Re-add connection: close; this shuts a connection down if is_keepalive
  is 0.
* Add a method to destroy a mgr client instance.
* Start fleshing out what it'd look like to do requests in a loop - only
  works as long the connection doesn't go away.
* add a hook in clt.c for the connection finish path - this is the
  notification from libevhtp that the underlying connection is
  going away.

When a connection goes away:

* the http request completes;
* then the connection fini handler is called;
* .. so I'm pretty sure at this point scheduling a new HTTP request
  is going to end in tears / segfault.

The other thing is that this leaks memory inside libevhtp.  I'm not
yet sure why.