runtime: restructure prefs class for initializing prefs singleton.

Boost filesystem has a bug initializing a static variable when linking statically. This forces the initialization to happen when the first call to prefs::singleton is made.

We should really put the prefs ctor in private, but then swig complains.
blocks: cleanup qa output statement in qa_keep_one_in_n
runtime: mods for pmt's NIL.
build: adds an ENABLE_STATIC_LIB option to cmake to build static (.a) versions of the libraries.
build: Ice does not support static libraries, so we can't build ControlPort if static libraries are being built.

We might be able to fine-tune this to build in ControlPort only for shared libraries but not for static libraries to avoid being this heavy-handed.
runtime: fix a memory leak in the logger when restarting a flowgraph due to adding new appenders to the logger. Now we clear them and set a

This adds a set of "set" functions to set a new appender. We can always add additional loggers using the old "add" functions.
Merge branch 'maint'
Merge branch 'staticlibs'
Merge branch 'master' into next
fec: updating FEC encoder/decoder loggers to use set function instead of add for appenders.
Merge branch 'master' into next