(CFACT-89) Use AppVeyor for Windows CI

Add yaml file to configure AppVeyor builds.
(maint) refacter kstat into its own resource

kstat is a kernel statistics API that present in solaris, and other
operating systems (like FreeBSD). This patch adds a c++ API around the
kstat and related structures so that they can be used correctly, and error
handling is simplified.
(maint) use the new kstat api for uptime_resolver
(maint) use the new kstat api for processor_resolver
(CFACT-89) Update pre-built Boost location

Use Kylo's Puppet Labs S3 bucket for the pre-built package.
(CFACT-105) Add virtualization facts for solaris

This patch adds virtualization facts for solaris. The facts added are different
for sparc and i86 due to the different virtualization technologies used. We
utilize the regular expressions in preexisting facter libraries to ensure that
other virtualization software are not missed.
Merge pull request #126 from vrthra/maint/kstat/solaris

(CFACT-70) maintenance - refactor usage of kstat to a wrapper
Merge pull request #128 from MikaelSmith/task/master/CFACT-89-enable-appveyor

(CFACT-89) Use AppVeyor for Windows CI
Merge pull request #125 from vrthra/fix/cfact-105/solaris-add-virtualization

(CFACT-105) Add virtualization facts for solaris
(maint) Add a wrapper over ioctl
(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.

We also refactor multiple calls to ioctl system call to a separate
struct. This allows us to simplify error handling, socket creation and
destruction.