[MEDIUM] memory: update pool_free2() to support NULL pointers

In order to make pool usage more convenient, let pool_free2()
support NULL pointers by doing nothing, just like the standard
free(3) call does.

The various call places have been updated to remove the now
useless checks.
diff --git a/src/client.c b/src/client.c
index 502ee97..a4d5265 100644
--- a/src/client.c
+++ b/src/client.c
@@ -433,17 +433,13 @@
 
 	/* Error unrolling */
  out_fail_rep:
-	if (s->req)
-		pool_free2(pool2_buffer, s->req);
+	pool_free2(pool2_buffer, s->req);
  out_fail_req:
-	if (txn->hdr_idx.v != NULL)
-		pool_free2(p->hdr_idx_pool, txn->hdr_idx.v);
+	pool_free2(p->hdr_idx_pool, txn->hdr_idx.v);
  out_fail_idx:
-	if (txn->rsp.cap != NULL)
-		pool_free2(p->rsp_cap_pool, txn->rsp.cap);
+	pool_free2(p->rsp_cap_pool, txn->rsp.cap);
  out_fail_rspcap:
-	if (txn->req.cap != NULL)
-		pool_free2(p->req_cap_pool, txn->req.cap);
+	pool_free2(p->req_cap_pool, txn->req.cap);
  out_fail_reqcap:
  out_free_task:
 	pool_free2(pool2_task, t);