Only run the rendezvous polling task when we have pending contacts
This branch schedules the rendezvous polling task whenever we have pending contacts, rather than all the time. This avoids unnecessary short-lived wake locks when we're offline and don't have any pending contacts.