way to stuff prefs into `TorClient` (or bind them)
Currently, if an application has some preferences it wishes to apply to a whole bunch (maybe all) connections, it must call TorClient::connect_with_prefs
and pass the prefs in each time.
This is both clumsy, and offers the programmer an opportunity for forgetting at one call site, writing a bug (which might be hard to spot, and might have security implications).
Perhaps we should offer something like one or some of these:
impl TorClient {
fn set_default_prefs(&mut self, prefs: Prefs);
fn with_prefs(&self, prefs: Prefs) -> TorClentWithPrefs<'_>; // has methods .connect() etc.
fn clone_with_prefs(&self, prefs: Prefs) -> TorClient; // not super cheap but not terrible either
(Not sure if these functions need to be fallible.)