Allow creating unbootstrapped `TorClient`s (and `DirMgr`s)

This commit changes how the TorClient type works, enabling it to be constructed synchronously without initiating the bootstrapping process. Daemon tasks are still started on construction (although some of them won't do anything if the client isn't bootstrapped).

The old bootstrap() methods are now reimplemented in terms of the new create_unbootstrapped() and bootstrap_existing() methods.

This required refactoring how the DirMgr works to enable the same sort of thing there.

closes #293 (closed)

Merge request reports

Loading