Revert "troubleshooting repetitive method/field declarations related to traits"

This reverts commit d3e350f952011e266c472d76e64613dad14e2cc5.
Keep track of which classes have already had their traits extended

This is a temporary workaround.  The issue is that both ArtefactTypeAstTransformation and GlobalGrailsClassInjectorTransformation are applying the traits.  I need to re-orchestrate this but for now I think this change will make the repetitive method/field definition errors go away.
don't invoke the trait injector if there are no traits to inject
fix failing tests

Related to 0a31401e2e16257ecd146a771e94d568b78eae21

Some of this is temporary.  Part of the issue is that we have tests which do dynamic compilation of classes and if we compile a class with the same name twice, that is problematic because of changes in the commit mentioned above.  The need to keep track of which classes have been compiled is a temporary workaround pending a real solution.  Classes need to have unique names for now.
eliminate some problematic dynamic compilation from tests
Merge branch 'master' of github.com:grails/grails-core