(CFACT-24) Add log4cxx to the build.

Adding Apache's log4cxx to the build process.
(CFACT-24) Add Boost to the build.

Adding Boost to the build.
Currently we only build program_options.
(CFACT-24) Implement more logging in cfacter.

Replacing usage of getopt with Boost's program_options library, which is cross-platform.
Implementing configuring the log4cxx logger with --debug, --verbose, or --propfile to specify a properties file.
Implementing printing only requested facts from command line.
Implementing more logging when resolving facts and in failure cases.
(maint) Fix build errors on Linux.

Fixing build error caused by a warning coming from Boost about an unused local typedef.
We can simply ignore this type of warning.

Fixing the shared object file name for log4cxx under Linux.

Fixing the log4cxx patch to build on Linux.

Fixing the file extensions for apr, aprutil, and boost.
(maint) Prevent external projects from always building.

There's no reason to pass ALWAYS 1 to the external projects.
This prevents us from relinking cfacter on OSX because we're fixing boost's install names.
(CFACT-24) Hide the log4cxx logging implementation.

Adding macros that hide the usage of log4cxx and make formatting of
messages easier.

Instead of using the log4cxx macros, use the LOG_DECLARE_NAMESPACE and
LOG_<DEBUG|INFO|WARNING|ERROR|FATAL> macros.
Merge pull request #14 from peterhuene/feature/logging

(CFACT-24) Implement logging in cfacter.