Declare TriggerTimingReport as a struct not a class

clang caught an inconsistency in declaring a struct as a class.
Removed unused variables

clang warned about existence of unused variables. These have been
removed.
Hide the fact that the expression values are irrelevant for the unit test

clang was complaining that the values generated by the expressions passed to
CPPUNIT_ASSERT_THROW were never used. That is expected since they are
supposed to thrown an exception. Slightly reworking the expression
solved that problem.
Move code shared by executable and plugin to an existing library

The unit test analyzer TestBeginEndJobAnalyzer has a static used
by the unit test to see that all transitions happened. When compiled
with clang the unit test failed presumably because we had mulitple
copies of the static. This change fixes the problem and makes the code
obey the C++ one definition rule.
Merge pull request #5711 from Dr15Jones/fixClangProblemsInFWCore

Fix clang problems in FWCore