Optionally load facter
Facter is currently loaded in a few places. This is always to get the fqdn or domain which can be centralized to settings. It can then detect if those are already hardcoded. The benefit is that facter becomes optional.
Refs #23635 - Stop relying on facter
The inclusion of facter is technically optional since it's a bundler
group. In practice there are direct calls to it.
This change relies on a change in Foreman core to ensure SETTINGS[:fqdn]
The benefit is that you can explicitly set the FQDN in your settings
file and avoid the use of the host FQDN altogether. This has the benefit
of decoupling from the actual host you run Foreman on.
Fixes #23635 - Centralize use of facter
We have a bundler group for facter. That implies it's optional but
before this change it wasn't With this change it's only required if no
domain and fqdn are set. This is still the default so in most cases it's
no difference, but at least we have centralized all use of facter to one