(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.
(maint) Remove header guards in favor of #pragma once.

Removing header guards in favor of #pragma once, which is supported by
every compiler we use.
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-121) Implement dynamic loading of the ruby dll on Windows

Adds defines for Windows _access and _waccess calls, to make them similar to Linux.
Adds a scoped_error class for Windows system error messages.
Adds execution::which, implemented identically to Facter's method.
Simplifies POSIX api::find_library with use of tie for comparison and assignment.
Implements Windows api::find_library, dynamic_library::load, and dynamic_library::find_symbol to facilitate loading the Ruby dll.
(CFACT-121) Restore search on 'ruby'

Changed search to ruby.exe during development, but that was due to incomplete behavior on execution::which.
Restored the search to look for 'ruby' instead of 'ruby.exe'.
(CFACT-121) Fix check for executable file

Corrected a typo: the environment variable is PATHEXT (not EXTPATH).
Digging through the Ruby source code shows that File.executable? eventually
just checks that the file is a directory, or a file with the extension
bat, .cmd, .com, .exe. So we re-use extpath_helper to implement the original
intent of the Facter execution::which method.
(CFACT-121) Implement find_by_pattern and minor fixes

Implemented find_by_pattern, which searches loaded DLLs for one that matches the
specified pattern and returns a handle to it in the form of a dynamic_library.
Fixed const and & correctness of helper functions.
Changed Ruby library version comparisons to use int instead of string.