(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.