Clean up

Change-Id: I1a651fb059e6cbaece53c8dbac7436b493f66cd5
Fix some memory leak in soltools/cpp tool

...though many more remain, as the design appears to be let heap grow
until exit.

Change-Id: I3e5cc95a0896c8add33a767209ab0ff60d6a4b52
Silence remaining memory leaks in soltools/cpp when run with lsan

Change-Id: Ia71c9abedfd325b9f5bb2a5e28b2386db5c2fd6b
Adapt CppUnit to our CPPUNIT_PLUGIN_EXPORT

...which mentions extern "C", so CppUnit's TestPlugInSignature must reflect
that.  It is a bit odd how CPPUNIT_PLUGIN_EXPORT needs to be passed into
CppUnit, so probably best to keep this as a local patch for now.  (Clang's
-fsanitize=undefined complained about the mismatch.)

Change-Id: Ied179a1afe82ceb04de4739c14cf8fadff31b80f
Some trivial fix for hash function signed overflow undefined behavior

Change-Id: I41ec24a02867ba3c5bf4f39b5d79bf6a3254ad0d