A raft of changes to accommodate some issues with an exit barrier.
Ended up moving the init/fini code down to comms layer, as has been on
the radar for some time, to match the UCCS config.  This allows each
comms layer to do the right (for it) amount of barriering required
without imposing an unnecessary blanket barrier at an upper level.

Regularized the Makefiles somewhat to move the right CPPFLAGS everywhere.