(CFACT-60) Implement memory facts for Linux.

Implementing the following facts for Linux:

* memory - structured fact containing all memory facts
* memfree - free memory
* memfree_mb - free memory in mebibytes
* memsize - total size of memory
* memsize_mb - total size of memory in mebibytes
* swapfree - free swap
* swapfree_mb - free swap in mebibytes
* swapsize - size of swap
* swapsize_mb - size of swap in mebibytes
(CFACT-60) Implement memory facts for OSX.

Implementing the following facts for OSX:

* memory - structured fact containing all memory facts
* memfree - free memory
* memfree_mb - free memory in mebibytes
* memsize - total size of memory
* memsize_mb - total size of memory in mebibytes
* swapfree - free swap
* swapfree_mb - free swap in mebibytes
* swapsize - size of swap
* swapsize_mb - size of swap in mebibytes
* swapencrypted - whether or not the swap is encrypted
(maint) Fix comparison of function return values to zero.

In a few places we were comparing certain function return values to "not
0" to check for an error condition.  The documentation of these
functions indicate that they return -1 as expected on error.  Therefore,
the comparison should be to -1.
(maint) Fix Linux partition fact attribute names.

During the Boost function refactoring, tag_value was used for the
attribtue instead of tag_name.  This resulted in the partitions fact
having correct values, but incorrect keys (the keys were the same as the
value).

The fix is to use the appropriate name coming back from blkid_tag_next.
(maint) Remove dead code.

Some dead code made it through a PR.  This line is unncessary and should
be removed.
Merge pull request #116 from peterhuene/maint/fix

(maint) Fix Linux partition fact attribute names.
(CFACT-80) Update extensibility doc for 0.2.0.

Updating the extensibility doc for 0.2.0's support of custom facts.
Merge pull request #113 from peterhuene/facts/memory

(CFACT-60) Implement memory facts for Linux and OSX.
Merge pull request #117 from peterhuene/docs/extensibility

(CFACT-80) Update extensibility doc for 0.2.0.
(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.