A simple usage example
Represent skips as failures

Also, replace all `pop`'s with `first` to be less destructive
Keep track if a run passed or not
Test#run_all runs all tests

Push the responsibility down so each test-run is self-contained and
self-aware if it passed, failed or was skipped
Rename EmptyTest to Empty
Test Rtest::Test#{passed?,skipped?,failure}
Added Test#code to show which code is associated to the run
Remove test setup duplication

By generalising to a super test class with each type of test class
defined in itself
Basic reporter outline
Time each report run
Reporter#report calculates a rough report of a run
A big thanks to @zenspider