CLEANUP: cli: make "show fd" use a const connection to access other fields

Over time the code has uglified, casting fdt.owner as a struct connection
for about everything. Let's have a const struct connection* there and take
this opportunity for passing all fields as const as well.

Additionally a misplaced closing parenthesis on the output was fixed.
diff --git a/src/cli.c b/src/cli.c
index c527e90..03f1757 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -1027,11 +1027,12 @@
 	 */
 	while (fd >= 0 && fd < global.maxsock) {
 		struct fdtab fdt;
-		struct listener *li = NULL;
-		struct server *sv = NULL;
-		struct proxy *px = NULL;
+		const struct listener *li = NULL;
+		const struct server *sv = NULL;
+		const struct proxy *px = NULL;
+		const struct connection *conn = NULL;
 		const struct mux_ops *mux = NULL;
-		void *ctx = NULL;
+		const void *ctx = NULL;
 		uint32_t conn_flags = 0;
 		int is_back = 0;
 
@@ -1047,13 +1048,14 @@
 				goto skip; // closed
 		}
 		else if (fdt.iocb == sock_conn_iocb) {
-			conn_flags = ((struct connection *)fdt.owner)->flags;
-			mux = ((struct connection *)fdt.owner)->mux;
-			ctx = ((struct connection *)fdt.owner)->ctx;
-			li = objt_listener(((struct connection *)fdt.owner)->target);
-			sv = objt_server(((struct connection *)fdt.owner)->target);
-			px = objt_proxy(((struct connection *)fdt.owner)->target);
-			is_back = conn_is_back((struct connection *)fdt.owner);
+			conn = (const struct connection *)fdt.owner;
+			conn_flags = conn->flags;
+			mux        = conn->mux;
+			ctx        = conn->ctx;
+			li         = objt_listener(conn->target);
+			sv         = objt_server(conn->target);
+			px         = objt_proxy(conn->target);
+			is_back    = conn_is_back(conn);
 		}
 		else if (fdt.iocb == sock_accept_iocb)
 			li = fdt.owner;
@@ -1104,11 +1106,13 @@
 			              listener_state_str(li),
 			              li->bind_conf->frontend->id);
 		}
+		else
+			chunk_appendf(&trash, ")");
 
 #ifdef DEBUG_FD
 		chunk_appendf(&trash, " evcnt=%u", fdtab[fd].event_count);
 #endif
-		chunk_appendf(&trash, ")\n");
+		chunk_appendf(&trash, "\n");
 
 		if (ci_putchk(si_ic(si), &trash) == -1) {
 			si_rx_room_blk(si);