Clenup of test runner
Moved responsibility of running entire suite

The code responsible for running the entire suite was located in the
TestDiscovery helper functions. A natural place for this responsibility to
belong is in the Runner.
Created Example.run function

Moves the functionality that operates on the example type to the example
module
Helpful message when data in context is of wrong type

This will help identify the cause of a problem, when the a the data
expected by a test is not what was expected
Updated readme with state of latest features