GROOVY-6621 fix Node#text when value is NodeList

by accounting for non-String children elements. Also added short-cut case for NodeList value.

When groovy.util.Node#text checks for it's value being an instance of Collection, it only accounts for String children elements, which means the text() values of Node children of a NodeList value will not be part of the result.

This is my second attempt at this PR. I moved the NodeUtils.groovy from groovy-xml to the core package (to match Node.java). I was able to adjust the existing test and get rid of the new test case I had created in the process.

[Jira Issue](http://jira.codehaus.org/browse/GROOVY-6621)