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.
Merge pull request #542 from armsargis/GROOVY-7181-ALTERNATIVE

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