[FIXED JENKINS-19898] test base classes should not be linked to the junit implementation.

Changed the return type to be generic and not the junit specific CaseResult.

TestObject.fullName was used in the baseClasses jelly but this was only defined in the CaseResult so add an implementation to the base class such that people can continue to use the generic jelly in their custom test implementations.

going via review in case there is something I may have missed,