(maint) Set Release as the default build type.

Without setting the default build type, toolset defaults are used during
the build.  This change makes it so that running cmake without
specifying a CMAKE_BUILD_TYPE variable will default the build to
"Release".
Merge pull request #29 from peterhuene/maint/release

(maint) Set Release as the default build type.
Merge pull request #30 from adrienthebo/maint/master/uptime-resolver-format-string

(maint) Correct uptime hour format string
(maint) Move version information to the facter library.

Moving version.h to facter library so that it reflects the facter implementation version.
cfacter now calls into the facter library to determine the version rather than having the versionc compiled into two different executables.
Adding version to facter library name.
(maint) Fix where cfacter gets installed to.

Now that we don't build cfacter's dependencies, change back to installing cfacter to /usr/local/[bin|lib] by default.
(CFACT-20) Implement JSON output.

Implementing JSON output of facts.
Implementing map_value to support complex fact values.
Implementing integer_value to support integer types in JSON output.
Fixing output of existing integer types.
Normalizing fact names taken on the command line.
Merge pull request #27 from peterhuene/feature/json

(CFACT-20) Implement JSON output.
(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.
(CFACT-29) Implement SELinux facts