(CFACT-107) Sync Solaris operatingsystem facts with structured OS fact

As part of the structuring of the operating system facts into the
'os' structured fact, the implementations of the operating system
resolvers for POSIX, Linux and OSX were updated such that the
structured fact itself would interrogate the system and make its values
available for the older flat facts to collect their values from.

The Solaris operating system flat facts were implemented at the
same time that this work was happening, and thus did not get the
same treatment with regards to structuring. This commit updates
the Solaris operating system resolver so that it is in line with
other class implementations, and so that the structured OS fact
resolves correctly in Solaris.
(CFACT-102) Remove partitions from the solaris facts

Previously, the disks section of facts listed the available partitions, as
obtained from kstat. However further investigation revealed that the partitions
reported by kstat did not give a true picture of disk partitions. Further, the
partitions given by kstat included both slices and partitions. Further there is
an ambiguity regarding the terminology, and there are different kinds of slices
and partitions too. Hence, the partition section of disks should not be exposed
at this time (pending further investigation).

This patch removes the partitions listed in disks section.
Merge pull request #138 from vrthra/fix/cfact-102/solaris-remove-partition

(CFACT-102) Remove partitions from the solaris facts
(CFACT-125) Resolve architecture fact when passed as an argument

Prior to this commit, when running `cfacter architecture` the
architecture fact would not resolve, despite the fact that it
did resolve when `cfacter` was run without any arguments.

This commit updates the POSIX processors resolver constructor to
properly include the architecture fact so it can be resolved by itself.
Merge pull request #139 from peterhuene/pragma/once

(maint) Remove header guards in favor of #pragma once.
Merge pull request #140 from whopper/cfact-125/arch-resolution-fix

(CFACT-125) Resolve architecture fact when passed as an argument
(CFACT-104) fix segv for dmi facts solaris

Previously, dmi facts relied on the architecture fact being resolved, and
was using the value without checking whether it was resolved or not. This
resulted in core dumps when the fact was not resolved.

This patch incorporates a null check to make sure that it does not core
dump.
(CFACT-51) Update Windows build instructions

Correct a few old comments.
Add pointer to gist of Powershell script to bootstrap a system.
Merge pull request #129 from whopper/cfact-107/solaris-os

(CFACT-107) Sync Solaris operatingsystem facts with structured OS fact
Merge pull request #142 from vrthra/fix/cfact-104/dmi-solaris

(CFACT-104) fix segv for dmi facts solaris
Merge pull request #143 from MikaelSmith/task/master/CFACT-51-update-Windows-instructions

(CFACT-51) Update Windows build instructions
(maint) Fix scoped_resource to not have a vtable.

If we prevent scoped_resource from being free-store allocated by
deleting new and delete operators, then there's no reason for
scoped_resource to have a virtual destructor.

Additionally, the move semantics weren't correct.  There's no reason to
default construct either the resource and the deleter of the old object.
Instead, simply move them.
(maint) Remove unncessary variable in CMake source lists.

We don't need the verbose use of the CMAKE_CURRENT_LIST_DIR variable in
our source file lists.  The files are already relative to where the list
file.
(CFACT-124) Move os and os_family constants out of POSIX.

Moving the os and os_family constants out of POSIX and into the generic facts
namespace where they can be used by Windows too.
(CFACT-124) Refactor kernel resolver into a base that can be used by Windows.

The base resolver is now responsible for adding the facts.  The POSIX child
type gets the data only.

This will allow us to share the fact definitions between POSIX and Windows.
(maint) Add missing doc comments.

Adding missing doc comments to make doxygen happy.
(CFACT-124) Refactor base DMI resolver so it can be shared by Windows.

Refactoring the base DMI resolver to keep the fact definitions in a
single place (the base).  The child types are only responsible for
returning data to the parent.
(CFACT-124) Refactor filesystem resolver into a base implementation.

Refactoring the filesystem resolver into a base implementation that is
responsible for the fact definition.  Child types are only responsible
for populating the data.