GROOVY-7181: Change DefaultGroovyMethods inject impl. to avoid closure arguments mutation

Change DefaultGroovyMethods inject impl. to avoid closure arguments mutation,
it creates problem currently for memoization because of
Arrays.asList(Object[] params) use as key for caching value but during
the iteration underlying array modified and which is breaking
java.util.Map contract.
GROOVY-7112: Correct memoization array parameter name generation

For class/interface array java type name generated using following
encoding: 'Lclassname;', now for array type using componentType.class +
'Array' to avoid ';' invalid character
GROOVY-7186: Close URLConnection getInputStream() after testing for availability
Merge pull request #543 from armsargis/GROOVY-7112

GROOVY-7112: Correct memoization array parameter name generation
Merge pull request #542 from armsargis/GROOVY-7181-ALTERNATIVE

GROOVY-7181: Change DefaultGroovyMethods inject impl. to avoid closure arguments mutation
Merge pull request #540 from armsargis/GROOVY-7186

GROOVY-7186: Try to open URLConnection in finally block
Revert "GROOVY-7186: Try to open URLConnection in finally block"
Merge pull request #544 from groovy/revert-540-GROOVY-7186

Revert "GROOVY-7186: Try to open URLConnection in finally block"
GROOVY-7193: Unnecessary call site generation for recursive calls
Add "fast path" comparisons for common cases
   * . This dramatically improves performance of a<b style comparisons in the case a or b are of Integer, Long and Double types.
   * There's no other test made to keep the ability for the JIT to inline compareLessThan and friends
GROOVY-7195: add finer control for fastpath generation for binary expressions
Refactor some methods to reduce the bytecode size and allow JIT inlining
Optimize bytecode length of isAssignableFrom to allow JIT inlining.
   * replaced subsequent ifs with a boolean expression
   * removed duplicate tests ensured by if (classToTransformTo==classToTransformFrom)
Allow JIT inlining of chooseMostSpecificParams
Optimize memory consuption by avoiding the creation of empty arrays