(maint) Cleanup uses of r-value references in parameters.

Remove r-value references used in parameters to favor pass-by-value.
Passing by-value gives the caller the option to move or copy depending
on whether or not an r-value is provided and the callee moves the
parameter accordingly.
(maint) Remove unused "resolve" parameter from collection methods.

With the resolver refactoring, this parameter is no longer used.
Removing it to simplify code.
(maint) Add missing doc comments.

Adding some missing doc comments that slipped through CI.
(maint) Remove unused cycle detection in fact resolvers.

Because of the way we need to force a resolver to resolve when a fact it
is responsible is added to the collection (i.e. from a custom or
external fact), we remove a resolver from the collection prior to doing
the resolve.

As a result, the old cycle detection isn't used because the resolver
isn't in the collection during resolution.  Instead of throwing a cycle
detection, we break the cycle and return nullptr for the requested fact.
(CFACT-134) Hide duplicated facts in cfacter output.

Hiding duplicated facts that are now respresented in structured data.
The facts are still present, just hidden from cfacter output by default.
(CFACT-134) Implement identity structured fact and hide id/gid.

Implementing the identity structured fact and hide the id/gid facts from
command line output by default.
(CFACT-134) Add OSX info to os structured fact.

Adding OSX build, product, and version to the os structured fact and
hide the macosx_* facts from output by default.
(CFACT-134) Add system_profiler structured fact.

Add system_profiler structured fact and remove the existing system
profiler related facts from the output by default.
(CFACT-134) Add dmi structured fact and cleanup DMI facts.

Adding a dmi structured fact that represents DMI data (TODO: come up
with a better name than "dmi"?).

Also hidding the existing DMI facts from default command line output.
Merge pull request #188 from peterhuene/facts/cleanup

(CFACT-134) General cleanup of cfacter command line output.

* peterhuene/facts/cleanup:
  (CFACT-134) Add dmi structured fact and cleanup DMI facts.
  (CFACT-134) Add system_profiler structured fact.
  (CFACT-134) Add OSX info to os structured fact.
  (CFACT-134) Implement identity structured fact and hide id/gid.
  (CFACT-134) Hide duplicated facts in cfacter output.
  (maint) Remove unused cycle detection in fact resolvers.
  (maint) Add missing doc comments.
  (maint) Remove unused "resolve" parameter from collection methods.
  (maint) Cleanup uses of r-value references in parameters.
(maint) Update cfacter to build with static libraries

This is part of a larger effort to get cfacter packages into the hands
of users. The quickest way to do this at the moment is to statically
link all of our dependencies. Yes, this will increase the size of the
binaries we're providing, but ultimately will allow easier access to
these packages for our users.

This PR does multiple things along those lines. First, it allows us to
specify if we want to use the shared or static version of the yaml-cpp
library. Both are available in our build, and for our purposes, we want
the static one, while maintaining the option to easily change that
decision later. We already have this capacity in terms of the boost
libs. We're also specifying the static library choice during build time
in ext/redhat/cfacter.spec.erb

This PR is also updating the required runtime dependencies. Since we're
statically linking against dependencies that were built in-house (boost,
yaml-cpp, gcc), we no longer need to make sure those packages are
available at runtime. Therefore, those runtime dependencies were pulled
out.

I also added in the optional dependencies, so we could have the
functionality provided by those libraries available for users.
Merge pull request #189 from melissaanne/master

(maint) Update cfacter to build with static libraries
(CFACT-142) Fix fqdn fact not being initialized properly.

The fqdn fact was only resolving if the qualified domain could be looked
up.  If the lookup failed, we used to fall back to simply doing the
hostname + domain.

That fallback was incorrectly removed during a refactoring.  This commit
simply adds it back.
Merge pull request #190 from peterhuene/cfact/142

(CFACT-142) Fix fqdn fact not being initialized properly.