Introduced helper function for running specs

This is an attempt to make the tests easier to read. Because the tests
and the system under test has the same methods, it can be difficult to
read the self tests because test organization and test code is melting
together.
Extracted tests into TestReportSpecs
Changed some tests to use helper runner func

Added this to some tests, but not all, to allow me to see which style I
prefer.