BUG/MEDIUM: mux-h1: Remove "Upgrade:" header for requests with payload

Instead of returning a 501-Not-implemented error when "Ugrade:" header is
found for a request with a payload, the header is removed. This way, the
upgrade is disabled and the request is still sent to the server. It is
required because some frameworks seem to try to perform H2 upgrade on every
requests, including POST ones.

The h2 mux was slightly fixed to convert Upgrade requests to extended
connect ones only if the rigth HTX flag is set.

This patch should fix the issue #1381. It must be backported to 2.4.
diff --git a/src/mux_h2.c b/src/mux_h2.c
index 5fd492a..45506c6 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -5288,7 +5288,7 @@
 				continue;
 
 			/* Convert connection: upgrade to Extended connect from rfc 8441 */
-			if (isteqi(list[hdr].n, ist("connection"))) {
+			if ((sl->flags & HTX_SL_F_CONN_UPG) && isteqi(list[hdr].n, ist("connection"))) {
 				/* rfc 7230 #6.1 Connection = list of tokens */
 				struct ist connection_ist = list[hdr].v;
 				do {
@@ -5306,7 +5306,7 @@
 				} while (istlen(connection_ist));
 			}
 
-			if (isteq(list[hdr].n, ist("upgrade"))) {
+			if ((sl->flags & HTX_SL_F_CONN_UPG) && isteq(list[hdr].n, ist("upgrade"))) {
 				/* rfc 7230 #6.7 Upgrade = list of protocols
 				 * rfc 8441 #4 Extended connect = :protocol is single-valued
 				 *