BUILD: applet: mark the appctx's st2 variable as deprecated

This one has been misused for a while as well, it's time to deprecate it
since we don't use it anymore. It will be removed in 2.7 and for now is
only marked as deprecated. Since we need to guarantee that it's zeroed
before starting any applet or CLI command, it was moved into an anonymous
union where its sibling is not marked as deprecated so that we can
continue to initialize it without triggering a warning.

If you found this commit after a bisect session you initiated to figure
why you got some build warnings and don't know what to do, have a look
at the code that deals with the "show fd", "show sess" or "show servers"
commands, as it's supposed to be self-explanatory about the tiny changes
to apply to your code to port it. If you find APPLET_MAX_SVCCTX to be
too small for your use case, either kindly ask for a tiny extension
(and try to get your code merged), or just use a pool.
diff --git a/include/haproxy/applet-t.h b/include/haproxy/applet-t.h
index af9560a..6b9a710 100644
--- a/include/haproxy/applet-t.h
+++ b/include/haproxy/applet-t.h
@@ -60,7 +60,6 @@
 	unsigned int st0;          /* CLI state for stats, session state for peers */
 	unsigned int st1;          /* prompt/payload (bitwise OR of APPCTX_CLI_ST1_*) for stats, session error for peers */
 	struct buffer *chunk;       /* used to store unfinished commands */
-	unsigned int st2;          /* output state for stats, unused by peers  */
 	struct applet *applet;     /* applet this context refers to */
 	struct conn_stream *owner;
 	struct cs_endpoint *endp;
@@ -75,6 +74,15 @@
 	struct freq_ctr call_rate;       /* appctx call rate */
 	struct list wait_entry;          /* entry in a list of waiters for an event (e.g. ring events) */
 
+	/* WARNING: the entries below are only kept for compatibility with
+	 * possible external code but will disappear in 2.7, you must use the
+	 * cleaner svcctx now (look at "show fd" for an example).
+	 */
+	union {
+		__attribute__((deprecated)) unsigned int st2;
+		unsigned int _st2;
+	};
+
 	/* This anonymous union is temporary for 2.6 to avoid a new API change
 	 * after 2.6 while keeping the compatibility with pre-2.7 code.
 	 * The pointer seen by application code is appctx->svcctx. In 2.7 the
diff --git a/src/cli.c b/src/cli.c
index f13cfd0..7853a5b 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -745,7 +745,7 @@
 	int i = 0;
 	struct cli_kw *kw;
 
-	appctx->st2 = 0;
+	appctx->_st2 = 0;
 
 	/* temporary for 2.6: let's make sure we clean the whole shared
 	 * context.
diff --git a/src/stream.c b/src/stream.c
index aaf42f3..d86dbf3 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -3347,7 +3347,7 @@
 				      tmpctx,
 				      tmpctx->st0,
 				      tmpctx->st1,
-				      tmpctx->st2,
+				      tmpctx->_st2,
 			              tmpctx->applet->name,
 			              tmpctx->t->thread_mask,
 			              tmpctx->t->nice, tmpctx->t->calls, read_freq_ctr(&tmpctx->call_rate),
@@ -3385,7 +3385,7 @@
 				      tmpctx,
 				      tmpctx->st0,
 				      tmpctx->st1,
-				      tmpctx->st2,
+				      tmpctx->_st2,
 			              tmpctx->applet->name,
 			              tmpctx->t->thread_mask,
 			              tmpctx->t->nice, tmpctx->t->calls, read_freq_ctr(&tmpctx->call_rate),