Added simplest possible testing ability.
Implemented very simple testing harness
Improved the structure of testing system
Improved testing framework
Add propper test assertions and test results.

Added Assert class for TestCase to inherit from to allow test cases to
throw test failure errors.

Added proper logging of errors and failures in the test using clasical
. F E output, in the future seperate the responsibility for output
building to another class