Refactor circuit cannibalization into one place
There's at least 2 different functions (and maybe many more places) where we cannibalize a circuit and add a hop. We should consolidate all of these places into a single helper function with consistent properties.
circuit_launch_by_extend_info() is one such place. circuit_extend_to_new_exit() is another.
Also, I found this old note file in my tor.git dir, which apparently I wrote some time ago while reviewing all the places we can add hops to circuits:
- Ways to add a new hop:
Not all of those are cannibalize code-paths, but they are worth grepping for to make sure they aren't used as such in some dark corner of the codebase.