(maint) Add unit tests for util and execution.

Adding tests for:

- facter::util::file
- facter::util::option_set
- facter::util::posix::scoped_descriptor
- facter::util::posix::scoped_addrinfo
- facter::util::bsd::scoped_ifaddrs
- facter::execution::posix
(maint) Add test target to cmake output.

Adding a test target to cmake output so tests can be run with just "make test".
Updating travis to run tests through ctest.
Updating README to cover running tests.
(maint) Add unit tests for logging.

Adding unit tests for debug, info, warning, error, and fatal logging.
(maint) Add tests for array_value.

Adding unit tests for facter::facts::array_value.
(maint) Add tests for string_value.

Adding tests for facter::facts::string_value.
(maint) Add tests for integer_value.

Add additional unit tests for facter::facts::integer_value.
(maint) Add tests for map_value.

Adding unit tests for facter::facts::map_value.
(maint) Fix Linux physicalprocessorcount fact to handle missing topology information.

CPU topology information may not be present in /proc/cpuinfo.  If it is
missing, we were not properly counting the physical CPUs present on the system.

The fix is to first attempt to use sysfs to count CPUs as it more
reliable for the topology information.  If sysfs isn't present, we fall
back to using topology information in /proc/cpuinfo.

This change matches what we do in Ruby facter.
Merge pull request #32 from peterhuene/fix/processor_facts

(maint) Fix Linux physicalprocessorcount fact to handle missing physical id.
Merge pull request #31 from peterhuene/maint/tests

(maint) Add various unit tests.