(FACT-179) Resolve fqdn fact when domain is empty

Previously, the fqdn fact would only resolve if both hostname and
domain were available on a host. Having a nil result when `hostname
-f` would return just the hostname is surprising to users, and we
should instead simply return the hostname when we cannot resolve a
domain.
Capturing what we talked about in the triage. I had a concern that if the `domain` fact is nil, then facter will start returning an `fqdn` fact when previously it didn't. If puppet looked directly at the `fqdn` fact, e.g. when determining its `certname`, then this could cause puppet agents to generate a new cert.

However, as noted [above|https://github.com/puppetlabs/facter/pull/687#discussion_r13319847], puppet looks at the `host` and `domain` facts, and not `fqdn`.

The only other place puppet looks at `fqdn` is when running as a CA and determining which dns_alt_names to include. However, both `fq