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-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.