(CFACT-51) Windows fix for removing util::string

String utilities were removed in place of Boost on Linux, but relevant
changes weren't made for Windows code. Those fixes are done here.
Merge pull request #120 from MikaelSmith/task/master/CFACT-51-Windows-fix-after-remove-string-util

(CFACT-51) Windows fix for removing util::string
(CFACT-104) Add dmi resolver to solaris

This patch adds support for dmi facts (bios, manufacturer, and product) to
solaris. This is mostly for i86 since sparc does not provide any way to fetch
equivalent information.
Merge pull request #124 from vrthra/fix/cfact-104/dmi-facts-solaris

(CFACT-104) Add dmi resolver to solaris
(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.