Too many absent v2 networkstatuses means caches can't purge their routerlist
Reported by frosty_un.
In routerlist_remove_old_routers, we don't actually purge old unlisted routers unless (have_enough_v2 && consensus). But if enough v2 authorities are down, have_enough_v2 might never be true on systems where !directory_caches_dir_info(). This could lead to OOM conditions on directory caches.
One easy but hackish way to fix this is to remove the "have_enough_v2" precondition and instead change the cutoff so that it remains at ROUTER_MAX_AGE when have_enough_v2 is true, but becomes (say) ROUTER_MAX_AGE*3 when !have_enough_v2.
A less easy way would be to change the requirement from "we have more than half of the v2 networkstatuses" to "for at least half of the v2 networkstatuses, we have it, or we have tried but failed to download it for at least N hours."