MAJOR: mux-h1/proto_htx: Handle keep-alive connections in the mux

Now, the connection mode is detected in the mux and not in HTX analyzers
anymore. Keep-alive connections are now managed by the mux. A new stream is
created for each transaction. This removes the most important part of the
synchronization between channels and the HTTP transaction cleanup. These changes
only affect the HTX part (proto_htx.c). Legacy HTTP analyzers remain untouched
for now.

On the client-side, the mux is responsible to create new streams when a new
request starts. It is also responsible to parse and update the "Connection:"
header of the response. On the server-side, the mux is responsible to parse and
update the "Connection:" header of the request. Muxes on each side are
independent. For now, there is no connection pool on the server-side, so it
always close the server connection.
diff --git a/src/stream.c b/src/stream.c
index ae8318d..515dc0d 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -666,8 +666,11 @@
 		return 1;
 	}
 
+	/* FIXME: Add CF_WROTE_DATA because data was already move in the mux in
+	 * h1. Without it, the SI remains in SI_ST_CON state.
+	 */
 	/* we need to wait a bit more if there was no activity either */
-	if (!(req->flags & CF_WRITE_ACTIVITY))
+	if (!(req->flags & (CF_WROTE_DATA|CF_WRITE_ACTIVITY)))
 		return 1;
 
 	/* OK, this means that a connection succeeded. The caller will be