Replace `ensure` clause with setup block
Remove unnecessary test

Tunit::Test is a perfect example on how this works
Move dummy_reporter to RunnableTest

It does not need to be accessible through TestCase
Clear out Runnable.runnables after each testrun

Each test should be able to setup its own world before each run
Clarity before cleverness. Always

`NotImplementedError` is a bit unclear in this use-case.
Set the expected assertion count incited of incrementing
Split up assertions from the rest of the tests part ii
Add before_{setup,teardown} and after_{setup,teardown}
Prefer curly-braces to do/end inside methods

That goes for other blocks aswell
Extract test prefix to constant
Quell ruby-warnings
Clarify test
Refactor Test.runnable methods

- Move method order depending on test_order to a private method
Change spec method prefix from "test_" to "spec_"

Every subclass of Runnable should be able to know how to run it's own
tests.
Move .runnable_methods and PREFIX to Spec class
Rename DSL#create to DSL#create_sub_klass
Refactor: extract regexp to variable