(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.
Merge pull request #113 from peterhuene/facts/memory

(CFACT-60) Implement memory facts for Linux and OSX.