(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-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 70) Add the kstat kernel information library to solaris linking

KStat provides information that is useful for resolving several
facts about the solaris kernel. This patch links the kstat library to cfacter
(CFACT 70) publish uptime fact for solaris

Before this patch, solaris10 did not report uptime. This patch adds the support
of uptime fact to solaris. It does this by relying on kstat library, which is
used to lookup kernel information. If the library call fails, it relies on
/bin/uptime for the uptime fact.