MEDIUM: session: do not free a session until no stream references it

We now refrain from clearing a session's variables, counters, and from
releasing it as long as at least one stream references it. For now it
never happens but with H2 this will be mandatory to avoid double frees.
diff --git a/src/session.c b/src/session.c
index a226559..06d3000 100644
--- a/src/session.c
+++ b/src/session.c
@@ -68,6 +68,8 @@
 
 void session_free(struct session *sess)
 {
+	if (!LIST_ISEMPTY(&sess->streams))
+		return;
 	session_store_counters(sess);
 	vars_prune_per_sess(&sess->vars);
 	pool_free2(pool2_session, sess);