(CFACT-58) Implement si_string and percentage utility string functions.

Implement a "si_string" function that converts a byte count to an amount
with the largest SI-suffix (e.g. 1025 bytes => 1.00 KiB).

Implement a "percentage" function that converts an amount used out of a
total to a percentage string (e.g. 9094 out of 10000 => "90.94%").
(maint) Removing facter::util::join.

Boost already implements this string algorithm.
(CFACT-58) Implement mountpoints and filesystems fact for BSD/OSX.

Implementing the mountpoints (structured) and filesystems (flat) fact for BSD/OSX.

The filesystems fact lists the mounted file system types.

The mountpoints fact is a new structured fact that describes the mounted file systems in detail.
(maint) Fix missing documentation in logging header.

Fixing missing documentation in logging header.
Adding a missing doc comment for a define.
Moving some BOOST constants into the .cc.
Fix /* to /** to properly treat the comments as doxygen comments.
(CFACT-58) Implement mountpoints and filesystems facts for Linux.

Implementing the mountpoints (structured) and filesystems (flat)
facts for Linux.

The filesystems fact lists the file system types supported by the
kernel.

The mountpoints fact is a new structured fact that describes the
mounted file systems in detail.
(CFACT-58) Implement the Linux partitions fact.

Implementing the partitions fact for Linux.

We also implement the following attributes for each partition:

* partuuid - The partition UUID (as opposed to the filesystem UUID).
* label - The partition's label.

This takes a new build-time dependency on libblkid (blkid was a
runtime dependency of Ruby Facter).
(CFACT-58) Make blkid and openssl dependencies optional.

This commit makes blkid and openssl an optional build-time dependency.

If blkid isn't installed at build time for Linux, the partitions fact will be unavailable.

If openssl isn't install at build time, the SSH fingerprinting facts will be unavailable.

The dependencies can also be disabled using "-DWITHOUT_OPENSSL=1" and "-DWITHOUT_BLKD=1"
when configuring cmake.
Merge pull request #92 from peterhuene/facts/filesystem

(CFACT-58) Implement file system facts for OSX and Linux.
(CFACT-51) Link and run cfacter on Windows

Makes it possible to link the cfacter project on Windows using MinGW.
The cfacter executable can run, but produces no facts.