MINOR: checks: improve handling of the servers tracking chain

Server tracking uses the same "tracknext" list for servers tracking
another one and for the servers being tracked. This caused an issue
which was fixed by commit f39c71c ([CRITICAL] fix server state tracking:
it was O(n!) instead of O(n)), consisting in ensuring that a server is
being checked before walking down the list, so that we don't propagate
the up/down information via servers being part of the track chain.

But the root cause is the fact that all servers share the same list.
The correct solution consists in having a list head for the tracked
servers and a list of next tracking servers. This simplifies the
propagation logic, especially for the case where status changes might
be passed to individual servers via the CLI.
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 579dbcc..aa8bb90 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -7044,8 +7044,8 @@
 				}
 
 				newsrv->track = srv;
-				newsrv->tracknext = srv->tracknext;
-				srv->tracknext = newsrv;
+				newsrv->tracknext = srv->trackers;
+				srv->trackers = newsrv;
 
 				free(newsrv->trackit);
 				newsrv->trackit = NULL;