[Reviewer: Alex] Improve logging, and fix logging-related hang when threads are killed while logging

Alex,

Please can you review my enhancements to cpp-common to

*   improve logging
*   expose the command code from Diameter::Message (for logging purposes only at present)
*   fix a hang if threads (specifically freeDiameter ones) were killed while in the process of logging, by registering a cleanup handler?

Tested live, and UTs run (but no new UTs written).

Matt