Cleaned up cli main

This makes it easier for a custom test application to reuse test discovery
and test runs
Extracted test result to variables
Changed TestReport to immutable type

Helps with further refactorings
Removed dependency to TestReport class
Changed reportTestName signature

Allows function piping
Removed TestReport parameterless ctor
Removed dependency to TestReport class
Deleted TestReport class
Moved TestRunner logic to separate module
Convert matcher specs to new syntax
Created be.greaterThan matcher
Removed old matchers