GROOVY-6580: InnerClassCompletionVisitor does not overwrite existing propertyMissing/methodMissing impls completely
Add test to show that fix for GROOVY-6582 works.
Tweak test to show that fix for GROOVY-6582 works.
GROOVY-6475: Incorrect error while checking generics of AIC
Merge pull request #327 from andresteingress/master

GROOVY-6580: InnerClassCompletionVisitor does not overwrite existing propertyMissing/methodMissing impls completely
Documented "differences with Java"
fixed JavaDoc warnings
GROOVY-6585: Implement customizable script body method signature for @BaseScript.

* Add helper method to ClassNode for safely removing a method.  Tidy up test.

* Fix tiny javadoc typos.

* Use ClassNode.findSAM to find the single abstract method.

* Replace fragile test for MethodNode.isScriptBody with a flag.

* Use AST node metadata to flag whether a method is a script body implementation.

* Fill in the Javadoc for setIsScriptBody().

* ClassHelper.findSAM will find methods in the parent, so we need to check for the name rather than null.

* Have a warning if run() is already implemented by base script.

* Ditch the warning since it is a little paranoid and so is more a linty sort of issue.

* Base scripts are not necessarily abstract.
Make @BaseScript able to implement an abstract method named "run" which takes arguments
GROOVY-6589: Improved error message if a user defines a run method in a script
GROOVY-6268: first blurb on the arithmetic operators
GROOVY-6592: Improvements to @BaseScript
   * allow @BaseScript on import/package nodes
   * improve test coverage
GROOVY-6268: assignment binary operators
Merge branch 'GROOVY-6582'
Trying to get back in sync with upstream.
Remove erroneous check for a method named 'run' in scripts.
Don't include GROOVY-6582.
Delete unused method.
Show that compiler alreadys knows what to do about duplicate methods.
Remerge 6582 for the umpteenth time.