Add base class for reporters

and test the all reporters adhere to the set contract.

Also standardise the reporter (triggers+sources to come) class names
to NameReporter.

This will make it easier to do more reporters in the future and also
add the possibility of loading reporters dynamically.

Co-Authored-By: Gregory Haynes <greg@greghaynes.net>

Change-Id: Ie67537c44bbb0dc5aa2a4708ffb5d381ce7e80fc
7 files changed