When reachable addresses change, mark connections using those addresses
When a client's reachable addresses change, we should:
- close connections that are on newly unreachable addresses,
- mark connections that are on non-preferred connections as "not for new streams".
This implements user intent faster than the current code (which essentially does nothing, and waits for old unreachable connections to die naturally, and new reachable connections to replace them).