(CFACT-71) Fix Ruby VM initialization.

Previously, intialization of the Ruby VM was occuring at a lower stack
frame than where we were loading code into the VM.  This caused a gap on
the stack where the Ruby GC would not search for VALUEs to mark,
resulting in random crashes when Ruby would GC objects still in use.

The fix is to properly initialize Ruby from main, thereby ensuring that
it gets initially configured with the highest possible stack location.
This will ensure the GC searches the entire stack for VALUEs to mark.
Merge pull request #80 from peterhuene/cfact/71

(CFACT-71) Fix Ruby VM initialization.
(CFACT-63) Add structured processors fact

This commit adds a new 'processors' structured fact, which returns a map
including keys for processor count, physical processor count, and
processor models.

Also, the existing processor facts were updated to take their values from
this new structured fact, rather than resolving them individually.
Merge pull request #76 from whopper/structured_processors_fact

(CFACT-63) Add structured processors fact
(CFACT-65) Replace RE2 with boost::regex

Removes dependency on RE2. Uses an adapter class and function to abstract
regular expression calls so it's easier to modify or switch packages if
necessary (for speed or Unicode support), and simplify the call interface.
Work removing log4cxx; doesn't pass unit tests.
Remove dependency on log4cxx.
Fix compile when boost::move and std::move conflict.
Remove log4cxx code in tests in such a way that tests should now fail.
Configure logging based on options (re-enabled).