(CFACT-114) Add Windows dmi resolver
(CFACT-114) Add Windows virtualization facts
(CFACT-114) Update virtualization_resolver to match facter
(CFACT-114) Call WMI over COM instead of exec

Cut 100ms off execution time by calling WMI directly via an internal COM
server instead of executing wmic for each query.
(CFACT-114) Release COM resources when done

COM resources are generally no longer needed after gathering facts, so
release them. Done specifically for the case where libfacter is loaded as
a DLL in a longer-running process.
(CFACT-114) Add a library for UTF conversion

Windows APIs use UTF-16, but the default encoding of our software is
assumed to be UTF-8. Thus a Windows-specific conversion library is added
for converting from UTF-8 strings to UTF-16 wstrings and UTF-16 wstrings
to UTF-8 strings.
(CFACT-114) Error handling and cleanup

Add error handling for UTF conversions; an exception is thrown if UTF
conversion fails. Also correctly release COM resources if an exception is
thrown during WMI initialization.

Remove wmi::release, as it's probably not needed and no good place to use
it.
(CFACT-120) Remove zpools and zfs_datasets facts

We don't have a strong rationale for adding these facts, and they could have
a noticable impact on serialization performance and clutter the fact output.
Remove the zpools and zfs_datasets structured facts that enumerated properties
of each zfs zpool and dataset.
(maint) Use lambdas to clean up writing logic
(maint) Resolve facts before printing to avoid interleaving debug output
Merge pull request #180 from MikaelSmith/maint/master/refactor-pretty-printers

(maint) Refactor pretty printers, fix debug interleaving
Merge pull request #176 from MikaelSmith/task/master/CFACT-114-virtualization-manufacturing

(CFACT-114) Add Windows DMI and Virtualization facts
(CFACT-122, CFACT-127) Fix ruby detection under rbenv and Fedora.

Fixing ruby detection under rbenv by executing "rbenv which ruby".  This
will allow us to use the ruby currently specified in the local or global
rbenv settings.

Fixing ruby detection under Fedora by also searching under "lib64".
Merge pull request #179 from MikaelSmith/task/master/CFACT-120-remove-zpools-zfs_dataset-facts

(CFACT-120) Remove zpools and zfs_datasets facts
Merge pull request #181 from peterhuene/rbenv

(CFACT-122, CFACT-127) Fix ruby detection under rbenv and Fedora.