(PUP-2104) Add cfacter setting to enable cfacter implementation.
Adding a --cfacter setting that will replace the facter implementation
with the native facter implementation if the following conditions are
met:
- cfacter is installed
- the version of cfacter is at least 0.2.0 (not yet released).
- facter has not evaluated any facts by the time the setting is set.
To accomplish this last point, certain default setting values needed to
be delay-evaluated as they relied on facts. Therefore a :default
for a setting now accepts a Proc and calls the Proc only once when the
default value is needed.