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
Override ConfigObject toString() and add new prettyPrint() method

Override ConfigObject toString() to print it as map to have consistency behavior with println(config) method call
and add new prettyPrint() method
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
Merge pull request #547 from melix/jit-inlining

Improve bytecode size of some methods
First cut of adapting the Groovy style guide document
GROOVY-9176: Invalid duplicate method error if a trait is precompiled and a method is static
GROOVY-7190: $get called on wrong receiver in case of a static method in a trait