MAJOR: muxes/htx: Handle inplicit upgrades from h1 to h2

The upgrade is performed when an H2 preface is detected when the first request
on a connection is parsed. The CS is destroyed by setting EOS flag on it. A
special flag is added on the HTX message to warn the HTX analyzers the stream
will be closed because of an upgrade. This way, no error and no log are
emitted. When the mux h1 is released, we create a mux h2, without any CS and
passing the buffer with the unparsed H2 preface.
diff --git a/src/proto_htx.c b/src/proto_htx.c
index 3837666..3c6df30 100644
--- a/src/proto_htx.c
+++ b/src/proto_htx.c
@@ -145,6 +145,9 @@
 			goto return_bad_req;
 		}
 
+		if (htx->flags & HTX_FL_UPGRADE)
+			goto failed_keep_alive;
+
 		/* 1: have we encountered a read error ? */
 		if (req->flags & CF_READ_ERROR) {
 			if (!(s->flags & SF_ERR_MASK))