MEDIUM: threads/pool: Make pool thread-safe by locking all access to a pool

A lock has been added for each memory pool. It is used to protect the pool
during allocations and releases. It is also used when pool info are dumped.
diff --git a/src/proxy.c b/src/proxy.c
index bcd5868..53f886e 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -853,7 +853,7 @@
 				 p->id, p->fe_counters.cum_conn, p->be_counters.cum_conn);
 			stop_proxy(p);
 			/* try to free more memory */
-			pool_gc2();
+			pool_gc2(NULL);
 		}
 		else {
 			next = tick_first(next, p->stop_time);
@@ -870,7 +870,7 @@
 	if (unlikely(stopping && p->state == PR_STSTOPPED && p->table.current)) {
 		if (!p->table.syncing) {
 			stktable_trash_oldest(&p->table, p->table.current);
-			pool_gc2();
+			pool_gc2(NULL);
 		}
 		if (p->table.current) {
 			/* some entries still remain, let's recheck in one second */