Simplifies state tracking, ping is now either valid or not set (0) and
isn't abused to store state.
Includes a hash-verified timestamp in pings, fixes impossible pings
(happened when querytime was updated before response arrived) and the
ability to add servers to a client's list with unsolicited packets
(abusing the LAN support).
Checks that DP/QW master server list packets originate from a configured
master (cvar net_sourceaddresscheck).
Fixes unreliable LAN support.
Significantly reduces the total time to complete a full query cycle for
DP servers by improving the logic as well as turning up some cvars.
Prints warnings if DP or QW master server queries time out.
Makes net_slist_maxtries actually give better ping reports like its
description says.
Makes net_slist_pause completely pause (QC builtin resorthostcache()
used by Xonotic and Nexuiz bypassed it), clarifies description, uses a
callback instead of polling to handle changes.
Changes sv_masters[] and sv_qwmasters[] iteration to a more idiomatic
pattern pattern (numeric limit instead of a "null cvar" terminator).
Checks that sockets are open before writing to them in
NetConn_QueryQueueFrame() to avoid crashing in case we ever close a
lower numbered socket while a higher numbered one is still open.
Separates QW master list parsing into a func (like DP list parsing).
Fixes sending a DP master query string to the QW masters if the first
socket is an IPv6 one.