(CFACT-64) Add structured operating system fact

This commit adds a new 'os' structured fact, which returns a map
including keys for each of the operatingsystem-releated facts. The
fact also includes LSB keys in Linux systems where LSB is available.
(CFACT-97) Resolve operatingsystemmajrelease in Ubuntu

This commit adds Ubuntu to the map of platforms which
are suitable to resolve the operatingsystemmajrelease fact,
and adds the necessary logic to do so.
Merge pull request #100 from whopper/operating_system_structured

(CFACT-64) Add structured operating system fact
(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.

The dhcp facts remains to be implemented.