tor-circmgr: Add HsPathBuilder for building onion service paths
This MR extracts some of ExitPathBuilder's functions to a new AnonymousPathBuilder trait. The default implementation of AnonymousPathBuilder::pick_path() contains what was previously ExitPathBuilder::pick_path().
I've also added a new HsPathBuilder type that implements AnonymousPathBuilder and replaces ExitPathBuilder::for_onion_service (which enables us to remove AnyRelayForOnionService altogether).
HsPathBuilder and ExitPathBuilder share the same pick_path() implementation if the vanguards feature is disabled.
This MR contains a lot of code movement. You can double-check I haven't modified the moved blocks using git diff --color-moved.