(CFACT-56) Implement aggregate resolutions in Ruby API.

Implementing Facter::Core::Aggregate with chunk and aggregate methods.

This allows for aggregate resolution types and conforms to Ruby Facter's
implementation of defaulting to a deep-merge of chunks.
(CFACT-44) Add missing Facter.version method.

Adding a missing Facter.version method that returns
Facter::FACTERVERSION.
(CFACT-44) Support boolean values in confines.

Support true and false in a Ruby confine hash.
(CFACT-44) Implement exec and which on Facter::Util::Resolution.

Implementing exec and which singleton methods on
Facter::Util::Resolution.

These call directly into the corresponding methods on Facter::Core::Execution.