(maint) Fix improper use of function try blocks.

In C++, function try-blocks implicitly rethrow the caught exception.
Therefore, the use of them in the regex adapter is incorrect.
Additionally, since the regex adapter isn't fully constructed, the _err
member cannot be used in a catch block and doing so will likely result
in a segfault.

The proper fix is to call the assign member and catch the exception it
throws.
(CFACT-73) Fix binding to the latest ruby available.

Instead of just assuming there's a symlink to the latest ruby library
available, search the library directory for all versions of libruby and
use the latest one.

This allows us to automatically find libruby on systems where the
symlink does not exist (such as Ubuntu).
(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-72) Log information during ruby library search.

While searching for the ruby library to use, we should be logging where
we are looking for the library and the candidate libraries we have
found.
Merge pull request #105 from peterhuene/custom/facts

(CFACT-72) (CFACT-73) Fixes for how libruby is discovered.
(CFACT-60) Implement memory facts for Linux.

Implementing the following facts for Linux:

* memory - structured fact containing all memory facts
* memfree - free memory
* memfree_mb - free memory in mebibytes
* memsize - total size of memory
* memsize_mb - total size of memory in mebibytes
* swapfree - free swap
* swapfree_mb - free swap in mebibytes
* swapsize - size of swap
* swapsize_mb - size of swap in mebibytes
(CFACT-60) Implement memory facts for OSX.

Implementing the following facts for OSX:

* memory - structured fact containing all memory facts
* memfree - free memory
* memfree_mb - free memory in mebibytes
* memsize - total size of memory
* memsize_mb - total size of memory in mebibytes
* swapfree - free swap
* swapfree_mb - free swap in mebibytes
* swapsize - size of swap
* swapsize_mb - size of swap in mebibytes
* swapencrypted - whether or not the swap is encrypted
(maint) Fix comparison of function return values to zero.

In a few places we were comparing certain function return values to "not
0" to check for an error condition.  The documentation of these
functions indicate that they return -1 as expected on error.  Therefore,
the comparison should be to -1.