Use periodic poll task for expiry
This branch changes the rendezvous poller to use the periodic poll task for expiry, rather than scheduling a task for each pending contact. This should avoid potential problems if a pending contact is removed and re-added with a new expiry time. As a side-effect, it also reduces the likelihood of expiry happening while a rendezvous connection is opening or open.
Part of #1232 (closed).