Organize dependencies and relationships in fitnesse.testsystem package

Classes in fitnesse.testsystem do not depend on classes/interfaces in sub packages. Use interfaces where possible to allow extension of the testsystem base.