Handle intentional premature request death a bit more gracefully.
Handle intentional premature request death a bit more gracefully.

This fixes some double free()s that can occur with ra_serf when a request
intentionally errors out (i.e. a Subversion error is raised).

* context.c
  (clean_resp): Clear out req's response pool pointer when that pool goes away.
  (write_to_connection): Install cleanup for request's response pool.
  (cancel_request): Take an extra argument to determine whether we've been
  asked to cancel or whether we're doing it off our own initative.
  (serf_connection_reset): Tell our pending requests that we're resetting.
  (serf_request_cancel): If we're called, don't tell the request anything.

jandre/serf,jandre/serf,jandre/serf,jandre/serf