Use a recursive mutex in HttpRequest.

In some error cases, libevent will call our callback synchronously, so we
need to be prepared for that (and not deadlock!).