Reset Tor polling state if guard connection is lost
If the Tor plugin loses its guard connection for reasons other than a change in the device's network connectivity (which we already detect), the plugin should reset its polling state, just as it would in response to a network connectivity change. Otherwise we could end up in the following situation:
- Hidden service descriptor published
- Stop polling
- Guard connection lost, hidden service unreachable
- Contact's hidden service descriptor published
- Contact stops polling
- Guard connection re-established
- Hidden service descriptor republished
- We never connect to the contact, they never connect to us
We already receive and log OR connection status events - the plugin should be able to use these to detect when our last OR connection closes and call the existing code for handling network connectivity changes.