Annotation -> AbstractAnnotation

Makes room for the new annotation interface.
Stub out the new Annotation API
Allow annotations to use custom-named handlers
Introduce DefaultHandlerResolver

The tests here ended up with a ton of stubs, those will likely go away
as more of the new handler system is built.
Add methods to get all arguments
Implement the new Annotation interface in AbstractAnnotation
Introduce GroupHandler
Introduce MethodValidatorTrait
Remove unused 'use' statement
Introduce FunctionValidatorTrait
Introduce NameNormalizationTrait
Fix a variable typo
Introduce AbstractCallbackHandler
Introduce {Before,After}UnitTestCaseHandler
Introduce DataProviderHandler
Give Handler::onRun knowledge of the TestResult
Introduce ExpectHandler
RequirementHandler stub
Better abstraction around requirement groups
Introduce RequirementsStorage