(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.
@haus just explained to me that since we're statically linking all of our dependencies, it's not going to run into issues trying to find those specific libraries. @stahnma was your question along those lines? Did I misunderstand what you were asking? Because now that we are statically linking in the libs that are built in house, we can remove the AutoReq (theoretically), and see what other dependencies are pulled in.