Fix no-async-promise-executor on TorConnect
TorConnect's state machine is async, and has async promise executors.
The linter doesn't like it, because there's no way to catch their exceptions. So, we should rework TorConnect not to use async executors.
The thing is that we'd like to have a resolution callback while running async stuff. One idea might be trying to use Promise.race()
.