Refactor and simplify guard code of circuit_send_next_onion_skin()
As part of prop271 (#19877 (moved)), we added about 70 fresh lines of code to circuit_send_next_onion_skin()
which is an already convoluted function.
Ideally we should abstract this new circuit-related guard code and put it in its own functions, to reduce complexity of circuit_send_next_onion_skin()
and maybe even make it unittestable.