We update (*localNodeContext).AppendMatchingPeers's predicate to take a short-lived
PeerInfo struct instead of tailcfg.NodeView. This allows the predicate to use (*PeerInfo).HasCap(),
instead of calling back to localNodeContext causing the deadlock.
Fixes#15824
Signed-off-by: Nick Khyl <nickk@tailscale.com>