Stop checking routerinfos for addresses when we use microdescs for circuits
Directory mirrors and clients that FetchUselessDescriptors check for IPv4 and IPv6 addresses in the following order: * routerinfos (descriptors) * routerstatus (consensus) * microdescriptors But they should check using the following order: * bridge routerinfos (descriptors) * routerstatus (consensus) If using microdescriptors for circuits: * microdescriptors Otherwise: * routerinfos (descriptors) There is code that implements this algorithm in commits decb0636e2, 1d1c927b9a, and 4979ec3c17 of my bug23975_tree branch. But this adds overhead to every address lookup when building circuits. Maybe we can make it faster by: * not parsing routerinfos or microdescs if we aren't using them for circuits, or * putting a canonical address in node_t, updating it whenever ri, rs, or md change, and always using it
issue