MEDIUM: servers: Add a way to keep idle connections alive.

Add a new keyword for servers, "idle-timeout". If set, unused connections are
kept alive until the timeout happens, and will be picked for reuse if no
other connection is available.
diff --git a/src/haproxy.c b/src/haproxy.c
index 6567b43..08ad7e5 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2418,6 +2418,14 @@
 			free(s->idle_conns);
 			free(s->priv_conns);
 			free(s->safe_conns);
+			free(s->idle_orphan_conns);
+			if (s->idle_task) {
+				int i;
+
+				for (i = 0; i < global.nbthread; i++)
+					task_free(s->idle_task[i]);
+				free(s->idle_task);
+			}
 
 			if (s->use_ssl || s->check.use_ssl) {
 				if (xprt_get(XPRT_SSL) && xprt_get(XPRT_SSL)->destroy_srv)