MEDIUM: sessions: Don't keep an infinite number of idling connections.

In session, don't keep an infinite number of connection that can idle.
Add a new frontend parameter, "max-session-srv-conns" to set a max number,
with a default value of 5.
diff --git a/src/backend.c b/src/backend.c
index c79302d..210cc31 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1254,8 +1254,9 @@
 				    (srv_conn->mux->avail_streams(srv_conn) == 1)) {
 					LIST_DEL(&old_conn->session_list);
 					LIST_INIT(&old_conn->session_list);
-					session_add_conn(sess, old_conn, s->target);
 					old_conn->owner = sess;
+					session_add_conn(sess, old_conn, s->target);
+					session_check_idle_conn(sess, old_conn);
 				}
 			}
 
@@ -1283,6 +1284,7 @@
 	if (srv_conn && old_conn != srv_conn) {
 		srv_conn->owner = s->sess;
 		LIST_DEL(&srv_conn->session_list);
+		LIST_INIT(&srv_conn->session_list);
 		session_add_conn(s->sess, srv_conn, s->target);
 	}