Prune stale entries from the master list on new cluster registration
and only write the list when membership changes (with timeout=None).
Before this fix, set_stat was append-only — dead cluster keys accumulated
forever because the only cleanup path (get_stats) runs only from the
monitor UIs. On DatabaseCache backends this rewrote the growing pickled
list to Postgres on every heartbeat, producing measurable egress.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>