GROOVY-6390: Super constructor calls are not made using direct calls but using MOP
   * introduced InvocationWriter#makeSpecialConstructorCall
   * moved code from AsmClassGenerator to InvocationWriter#makeSpecialConstructorCall
   * specialized version of makeSpecialConstructorCall in @CompileStatic mode
Merge pull request #268 from tkruse/avoid_valueOf

GROOVY-6389: groovysh flawed display of collections 

print all results using toString() instead of String.valueOf()
Revert "Merge pull request #268 from tkruse/avoid_valueOf"

This reverts commit 98da3808b1ac9b03b214a4f6274c7f95c2e0ba38, reversing
changes made to a9d3b3ae3fee5a1d92d6d5bab350cc313cf4f9a7.

I missed the change to "MetaClassImpl.java". This needs further review, therefore reverted the commit.
GROOVY-6389: groovysh: Print results using toString(), not String.valueOf

Using java.lang.String.valueOf(obj) for instances of Arrays and Maps causes
Object.toString to be used for String generation, causing ugly output in groovysh

This commit uses toString() instead which uses pretty output for collections.

As opposed to an earlier commit for Groovy 2.2, Arrays will be displayed
without their type. Avoiding the GString here because of the earlier code
comment, not sure whether there is any risk using GString here or not
(Comment was from 2007, e222d4f5cf8cc7).
replace other occurences of String.valueOf in groovysh