osd: PeeringState: respect stretch peering constraints for async recovery
Happily this is pretty simple: we just need to check that the resulting
wanted set can peer, which we have a function for. Run it before actually
swapping the want and candidate_want sets.
If we're not in stretch mode, this is a cheap function call that
will always return true, so it's equivalent to what we already have for them.