(CFACT-44) Implement Ruby Facter API

Implementing the Ruby Facter API in C++:
Facter.add
Facter.define_fact
Facter.value
Facter.[]
Facter.fact
Facter.debug
Facter.debugonce
Facter.warn
Facter.warnonce
Facter.log_exception
Facter::Util::Fact.name
Facter::Util::Fact.value
Facter::Util::Fact.define_resolution
Facter::Util::Fact.resolution
Facter::Core::Execution.which
Facter::Core::Execution.exec
Facter::Core::Execution.execute
Facter::Core::Execution::ExecutionFailure
Facter::Util::Resolution.confine
Facter::Util::Resolution.has_weight
Facter::Util::Resolution.name
Facter::Util::Resolution.timeout=
Facter::Util::Resolution.setcode

Aggregate facts are not yet implemented.