tor-circmgr: Implement vanguard path selection in HsPathBuilder.
This is the first draft of the vanguards path selection implementation in HsPathBuilder (see VanguardHsPathBuilder).
To distinguish STUB circuits from STUB+ circuits, I've replaced ClientCirc with a new HsCircStub type throughout the hspool module. HsCircStub is a wrapper around a ClientCirc and HsCircStubKind, which specifies whether the circuit stub is a regular stub (STUB), or an extended stub (STUB+).
I've added TODO HS-VANGUARDS in all the places in tor-circmgr where the implementation is incomplete (or missing, even).
There is now a code smell around the AnonymousPathBuilder trait I added in !2038 (merged) (it's pointed out in a TODO HS-VANGUARDS in 5fb8979a). If everything else looks good, I can refactor that in a separate MR (after this one lands).
Closes #1276 (closed), #1274 (closed), #1279 (closed)