Refactor classes

Refactor the classes. There is now a test class which both
case and suite inherit. This will be expanded upon to provide
common attributes and methods.

Both cases and suites now yield tap and execution results during
execution, letting the executor iterate over each test, making
the case and suite classes unaware of the executor.

Drop streaming support, if it is ever implemented it requires careful
thought and extension of TAP.