Use the exits that implement congestion control as second hop
As @mikeperry commented in today's meeting, we could try to implement this first, which looks easier than #40022 (closed).
To do this, sbws will need to examine the 'proto' line of relay descriptors, as well as the 'cc_alg' consensus parameter. When cc_alg=2, it should only use Exit relays with 'FlowCtrl=1-2' in their 'proto' line as exits, and user all other Exits as middle-only.
Ideally, these results should discard the first ~2-4MB of a download in measurements, since during that period slow start is active, and not count that period in results. Remind @mikeperry to run some sims to determine this exact threshold. Alternatively, we could make a CIRC or CIRC_MINOR flag that says when slow-start is over, so measurements can begin.
Additionally, since the Vegas queue parameters only assume two hops, we might want to try switching sbws to only upload for these measurements. It is not clear how much this will matter for bandwidth measurement, though. It may be something that we can just wait for #40022 (closed) to use custom exits instead, later. (Another option is to alter negotiation for clients to tell Exits when they are using 2-hop paths, but this is not great, and may not be worth it).