(CFACT-86) Networking facts for solaris

This patch adds support for networking facts for solaris. This is patterned on
the bsd facts, but differs in that the method of getting the interfaces and
macaddress is different. Unlike bsd and linux, getifaddrs does not exist in
s10. Hence we rely on ioctl to allocate a block of addresses which provides us
with ipv4 and ipv6 interfaces. However, linkaddresses are not present in this
block, and have to be obtained separately.
This patch also adds support for dhcp server id to the networking resolver.
(CFACT 92) Add memory facts for solaris

This patch adds support for system memory facts for solaris. Since swap
requires different handling, it is not included in this patch.
(CFACT-103) Add swap memory facts for solaris

This patch adds support for swap memory facts for solaris. It utilizes the
solaris swapctl systemcall to get information about the swap memory.
(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-52) Fix handling of CR in unit tests
(maint) Add debugging when loading ruby dynamic library
(maint) Ignore .idea generated by CLion
Merge pull request #133 from MikaelSmith/maint/ignore-clion

(maint) Ignore .idea generated by CLion
(maint) Fix case of debug messages, remove extras
(CFACT-52) Use boost::token_compress_on for \r\n

boost::split with boost::token_compress_on can already deal with \r\n, so remove the
redundant transform.
(CFACT-89) Bump gcc from 4.8.1 to 4.8.2
Merge pull request #132 from MikaelSmith/maint/add-debugging-for-dynamic-load

(maint) Add debugging when loading ruby dynamic library
Merge pull request #131 from MikaelSmith/task/master/CFACT-52-implement-utilities-unit-tests

(CFACT-52) Fix handling of CR in unit tests
Merge pull request #134 from MikaelSmith/task/master/CFACT-89-enable-appveyor

(CFACT-89) Bump gcc from 4.8.1 to 4.8.2
Merge pull request #118 from vrthra/fix/cfact-86/networking-solaris

(CFACT-86) Networking facts for solaris
Merge pull request #119 from vrthra/fix/cfact-92/solaris-memory-facts

(CFACT 92) Support for memory facts for 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.
(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.