a more sensible approach to map coercion from a nodechild

I think this is a more sensible approach to the NodeChild -> Map translation.

Before, we were taking an XML structure with nested elements and embedding them within a specified 'child' tag, so XML that looked like:

```xml
<dan id="1234">
   <key value="val" />
   <key value="val2" />
</dan>
```

Mapped out to:

```groovy
assert map == [dan: _children: [ [key: [value: "val" ] ], [key: [value: "val2" ] ] ] ]
```

This change proposes to change this to:

```groovy
assert map == [dan: [ key: [ [value: "val"], [value: "val2"] ] ] ]
```

This change also makes conversion to JSON be an accurate representation of the source XML structure.

Thoughts?