GROOVY-5924: Initial work on closure parameter type inference
GROOVY-5924: Fixed several inference bugs/tests due to the introduction of closure parameter type inference
GROOVY-5924: Fixed broken tests
GROOVY-5924: Added @ClosureParams annotation for collect/collectEntries in DGM
   * annotated the non deprecated collect/collectEntries methods from DGM
   * unit tests for type checking
   * added a new (First|Second|Third)Arg.Component hint class
GROOVY-5924: Added @ClosureParams annotation for collectMany in DGM
   * includes a fix for "implicit it"
GROOVY-5924: Javadocs for hints
GROOVY-5924: Added "FromString" hint
   * allows to write a type signature using the "options" list
   * ex: @ClosureParams(value=FromString.class,options="U","List<V>")
   * should be limited to cases where other hints are not usable
   * a bit hacky because makes use of modified AntlrParserPlugin
GROOVY-5924: Improved error reporting
   * getClosureSignatures now include a "usage" parameter corresponding to the place which triggered the call to this method
GROOVY-5924: Make it possible to use SimpleType for arrays
GROOVY-5924: Support for vargs
   * annotated StringGroovyMethods#find(String, String, Closure) and SGM#(String,Pattern,Closure)
   * fixed disambiguation algorithm that would trigger an error even if the user explicitly used types
GROOVY-5924: add @ClosureParams and tests for DGM#countBy methods
GROOVY-5924: make FromString support polymorphic signatures
GROOVY-6496: Compilation failure if an extension method uses a primitive type and a generic type
GROOVY-5924: Added @ClosureParams to DGM#downto methods
GROOVY-5924: Added @ClosureParams to
    * DGM#upto methods
    * DGM#dropWhile methods
    * DGM#eachWithIndex methods
    * added support for optional "index" in MapEntryOrKeyValue hint
    * added two eachWithIndex variants for the sake of type safety
GROOVY-5924: Added @ClosureParams to
    * DGM#every method
    * added DGM#every(Iterator) and DGM#every(Iterable) for type safety
GROOVY-5924: Added @ClosureParams to
    * DGM#every method
    * added DGM#every(Iterator) and DGM#every(Iterable) for type safety
    * DGM#find methods
    * DGM#findAll methods
    * DGM#findResult methods
    * DGM#findResults methods
GROOVY-5924: Added @ClosureParams to DGM#groupBy / DGM#groupEntriesBy
GROOVY-5924: Rename (First|Second|Third)Arg to (First|Second|Third)Param
GROOVY-5924: Fixed type inference bug highlighted by the introduction of closure type parameter inference on DGM#find