Predict and build specific HS purpose circuits (rather than GENERAL)
circuit_predict_and_launch_new() builds CIRCUIT_PURPOSE_C_GENERAL circuits, even for hidden service circuits. When we implement Proposa247/#9001 (moved), we will need to give all hidden service circuits their specific purposes right from build time, in order to ensure that they are build using Vanguards. We will also need to disable cannibalization for them, since cannibalized GENERAL circuits will not use our vanguards, either.
This means we need to change the prediction recording and circuit building to record, predict, and build each HS circuit type independently.