Ref T7352. Overall, I want to run one overseer per daemon group instead of one overseer per daemon, to reduce the minimum footprint of an inactive Phacility instance.
PhutilDaemonOverseer currently has a mixture of logic specific to the overseer (e.g., argument parsing, signal handling) and logic specific to the daemon process (e.g., heartbeat handling).
Separate this logic, so the Overseer has a list of DaemonHandles. Currently, it always has exactly one DaemonHandle, but the logic anticipates a future diff where it may have more than one.