Merge branch 'master' into GROOVY-6621-Node-text-when-NodeList-value
GROOVY-6329: @Delegate should support including/excluding which methods are delegated to using an interface spec (handle basic generics)
Merge pull request #346 from jimwhite/GROOVY-6615

Implement GROOVY-6615: Configured base scripts support custom body methods like @BaseScript does.
Fix unit test sometimes failing because of the modification of Unsafe
GROOVY-5413: groovyc should emit errors when @Override is not respected
Avoid generation of Expression.class files at runtime
First experiment for a @Trait AST transformation
Trait experiment, phase 2:
   * replace delegate approach with "multiple inheritance like" approach
   * support for fields in traits
   * helper class now uses static methods and initializer method
   * if fields are defined, a helper interface is defined too
   * NO SUPPORT FOR FIELDS ON LHS OF ASSIGNMENTS YET
   * no support for trait inheritance
Trait experiment, phase 2:
   * make sure generated getters appear first to avoid potential NPE
Code cleanup for trait AST transformation
   * remove fields from helper class (not needed anymore)
   * remove the helper abstract method annotation (replaced with good old abstract methods)
   * do not generate anything for synthetic methods
Trait experiment: initial support for properties and assignments
Trait experiment: initial support for closures defined in traits
Fixed IncompatibleClassChange error with precompiled traits
Adding a trait keyword

Conflicts:
	src/test/org/codehaus/groovy/transform/TraitASTTransformationTest.groovy
Make use of the trait keyword
Remove unused imports
Move one static inner trait to top-level class
Fixed visit of declaration expressions in trait
Fix generics error with traits
Safer traits implementation:
   * prevent use of protected/private methods in traits (not possible with a dynamic runtime)
   * make private fields remapped in weaved class
   * rename "$this" to "$self" for readability
   * moved transformation to its own package
   * extracted ReceiverTransformer
   * fixed compatibility with @CompileStatic
Allow overriding properties from traits