(#8341) Only load facts once per puppet run
Make the facter terminus the only place that loads facts (with the notable
exception of pluginsync which loads any ruby code it syncs).
This should satisfy several requirements:
- daemonized puppet agent can get fresh facts on each run
- puppet master can load facts
- facts are not loaded more than once by the puppet agent fact handler