[MAJOR] migrated task, tree64 and session to pool2

task and tree64 are already very close in size and are merged together.
Overall performance gained slightly by this simple change.
diff --git a/src/client.c b/src/client.c
index 52b281b..6afb206 100644
--- a/src/client.c
+++ b/src/client.c
@@ -41,6 +41,7 @@
 #include <proto/log.h>
 #include <proto/hdr_idx.h>
 #include <proto/proto_http.h>
+#include <proto/session.h>
 #include <proto/stream_sock.h>
 #include <proto/task.h>
 
@@ -110,7 +111,7 @@
 			}
 		}
 
-		if ((s = pool_alloc(session)) == NULL) { /* disable this proxy for a while */
+		if ((s = pool_alloc2(pool2_session)) == NULL) { /* disable this proxy for a while */
 			Alert("out of memory in event_accept().\n");
 			EV_FD_CLR(fd, DIR_RD);
 			p->state = PR_STIDLE;
@@ -127,18 +128,18 @@
 		    (((struct sockaddr_in *)&addr)->sin_addr.s_addr & p->mon_mask.s_addr) == p->mon_net.s_addr) {
 			if (p->mode == PR_MODE_TCP) {
 				close(cfd);
-				pool_free(session, s);
+				pool_free2(pool2_session, s);
 				continue;
 			}
 			s->flags |= SN_MONITOR;
 		}
 
-		if ((t = pool_alloc(task)) == NULL) { /* disable this proxy for a while */
+		if ((t = pool_alloc2(pool2_task)) == NULL) { /* disable this proxy for a while */
 			Alert("out of memory in event_accept().\n");
 			EV_FD_CLR(fd, DIR_RD);
 			p->state = PR_STIDLE;
 			close(cfd);
-			pool_free(session, s);
+			pool_free2(pool2_session, s);
 			return 0;
 		}
 
@@ -146,8 +147,8 @@
 		if (cfd >= global.maxsock) {
 			Alert("accept(): not enough free sockets. Raise -n argument. Giving up.\n");
 			close(cfd);
-			pool_free(task, t);
-			pool_free(session, s);
+			pool_free2(pool2_task, t);
+			pool_free2(pool2_session, s);
 			return 0;
 		}
 
@@ -156,8 +157,8 @@
 				(char *) &one, sizeof(one)) == -1)) {
 			Alert("accept(): cannot set the socket in non blocking mode. Giving up\n");
 			close(cfd);
-			pool_free(task, t);
-			pool_free(session, s);
+			pool_free2(pool2_task, t);
+			pool_free2(pool2_session, s);
 			return 0;
 		}
 
@@ -236,8 +237,8 @@
 				     pool_alloc_from(p->req_cap_pool, p->nb_req_cap*sizeof(char *)))
 				    == NULL) { /* no memory */
 					close(cfd); /* nothing can be done for this fd without memory */
-					pool_free(task, t);
-					pool_free(session, s);
+					pool_free2(pool2_task, t);
+					pool_free2(pool2_session, s);
 					return 0;
 				}
 				memset(txn->req.cap, 0, p->nb_req_cap*sizeof(char *));
@@ -251,8 +252,8 @@
 					if (txn->req.cap != NULL)
 						pool_free_to(p->req_cap_pool, txn->req.cap);
 					close(cfd); /* nothing can be done for this fd without memory */
-					pool_free(task, t);
-					pool_free(session, s);
+					pool_free2(pool2_task, t);
+					pool_free2(pool2_session, s);
 					return 0;
 				}
 				memset(txn->rsp.cap, 0, p->nb_rsp_cap*sizeof(char *));
@@ -267,8 +268,8 @@
 				if (txn->req.cap != NULL)
 					pool_free_to(p->req_cap_pool, txn->req.cap);
 				close(cfd); /* nothing can be done for this fd without memory */
-				pool_free(task, t);
-				pool_free(session, s);
+				pool_free2(pool2_task, t);
+				pool_free2(pool2_session, s);
 				return 0;
 			}
 			hdr_idx_init(&txn->hdr_idx);
@@ -354,8 +355,8 @@
 			if (txn->req.cap != NULL)
 				pool_free_to(p->req_cap_pool, txn->req.cap);
 			close(cfd); /* nothing can be done for this fd without memory */
-			pool_free(task, t);
-			pool_free(session, s);
+			pool_free2(pool2_task, t);
+			pool_free2(pool2_session, s);
 			return 0;
 		}
 
@@ -377,8 +378,8 @@
 			if (txn->req.cap != NULL)
 				pool_free_to(p->req_cap_pool, txn->req.cap);
 			close(cfd); /* nothing can be done for this fd without memory */
-			pool_free(task, t);
-			pool_free(session, s);
+			pool_free2(pool2_task, t);
+			pool_free2(pool2_session, s);
 			return 0;
 		}