Introduce TestCase Descriptors
Add data set descriptors in AbstractTestSuite
Push TestCase::getName Up Into AbstractTestCase

Let's us take care of adding the descriptors there as opposed to in
every TestCase implementation or in the output writer.
Rename Annotation::attach to Annotation::attachRun

We'll allow annotations to hook in and attach both on run and on test
case setup, so we need some different methods.
Setup Annotations on SETUP_TESTCASE event

And stub out DataProvider annotation.
Move hasValidMethod and hasValidFunction up into Annotation
Flesh out the DataProvider annotation class