(CFACT-44) Fix calling resolution block twice from Facter.add.

The block given to Facter.add is inadvertently being called twice.
This went unnoticed because most facts created with Facter.add
simply do setcode / chunk / aggregate calls and that modifies
the state of the resolution before the value is resolved.

This was caused during a refactoring where define_resolution
executed the block.  The code for Facter.add was also executing
the given block.  Facter.add should rely on define_resolution
to execute the block.

Additionally, the protect call was unnecessary since there were
no instances of types with destructors being declared.
(CFACT-44) Log a warning when custom facts attempt to use the timeout option.

Log a warning once when the :timeout option is specified in Facter.add.

Log a warning once when timeout= is called from a resolution.
(maint) Fix build dependency finding to support CMake hint variables.

Adding back support for a <packagename>_ROOT CMake variable that
gives a hint to where dependencies can be located.

Also adding support for <packagename>_INCLUDEDIR for an include
directory hint and a <packagename>_LIBRARYDIR for a library
directory hint.
(maint) Add missing doc comment for time zone fact resolver.

Adding a missing doc comment for timezone_resolver.
Merge pull request #102 from peterhuene/maint/dependencies

(maint) Fix build dependency finding to support CMake hint variables.
Merge pull request #101 from peterhuene/cfact/44

(CFACT-44) Log warning for use of timeout option in custom facts.
Merge pull request #97 from MikaelSmith/task/master/CFACT-51-link-run-on-windows

(CFACT-51) Link and run cfacter on Windows
(maint) Fix tty logging output.

A prior check-in restructured tty logging, but had a bug in the switch
statement. This fixes that bug by adding break statements for each case.
Merge pull request #103 from MikaelSmith/maint/master/fix-logging-output

(maint) Fix tty logging output.
(CFACT 70) make uname return value conform to posix standards

Before this patch, we used to compare the `uname(...) != 0` for failure.
However posix only states that uname(...) returns a non negative value on
success, and returns -1 on failure. This patch changes the comparison to
`uname(...) == -1` for failure. This was also necessitated by the behavior
of solaris which returns a nonzero value on success.

This commit also deletes the previous solaris/kernel_resolver since the
patch makes this kernel_resolver identical to posix.
(CFACT 70) remove redundant spaces

Remove redundant blank line
Merge pull request #106 from vrthra/fix/cfact-70/uname-patch

(CFACT 70) make uname return value conform to posix standards
(maint) Change execution logging namespace to be just "execution".

Currently the shared execution implementation logs to the
"execution.windows" namespace, which is incorrect.  Changing all of the
related namespaces to be just "execution".
Merge pull request #107 from peterhuene/maint/logging

(maint) Change execution logging namespace to be just "execution".
(CFACT-51) Resolve DLL search issues in dev environment

Switch Boost to static libraries, to avoid having to ship Boost DLLs.
Put all binaries in the same directory to avoid DLL search path issues in dev environment.