Clarify directory and ORPort checking functions

The OR and dir checking functions in router.c are somewhat confusing. We could document them better, or modify their names, or restructure.

In #18616 (moved), we added:

  • decide_to_advertise_begindir

We already had:

  • check_whether_orport_reachable
  • check_whether_dirport_reachable
  • router_has_bandwidth_to_be_dirserver
  • router_should_be_directory_server
  • dir_server_mode
  • decide_to_advertise_dirport
  • consider_testing_reachability
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information