(CFACT-58) Make string utility function "join" templated.

The string join utility function was expected a vector<string> to join
together.  Other collections that can be iterated over for strings, such
as set<string> should be supported.  Therefore, making this function
take a template parameter for the collection type.
(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.