Remove dependencies from the 'arti' crate

Right now the arti CLI and proxy crate uses the following dependencies:

  • tor-client (This is okay, it's our public API.)
  • tor-socksproto (This is okay since the arti crate)
  • tor-config (This is our configuration parser.)
  • tor-proto (For connection parameter types)
  • tor-dirmgr (For configuration types.)
  • tor-rtcompat (For building a runtime.)
  • tor-circmgr (For configuration types.)

We should refactor our APIs so that the arti crate can be built to not require tor-proto, tor-dirmgr, or tor-rtcompat. This will mean giving tor-client better wrappers for these crates.

Edited by Nick Mathewson