xml-node: Use GString in rest_xml_node_print()
xml-node: Use GString in rest_xml_node_print()

The current code is using xml = g_strconcat (xml, ...) which is causing
some leaks as g_strconcat returns a newly allocated string. Using
GString avoids this issue without constantly freeing the intermediate
strings.

This fixes multiple leaks like:

==16611== 18 bytes in 1 blocks are definitely lost in loss record 124 of 301
==16611==    at 0x4C2BBAD: malloc (vg_replace_malloc.c:299)
==16611==    by 0x5F5CE58: g_malloc (gmem.c:94)
==16611==    by 0x5F75B8E: g_strconcat (gstrfuncs.c:585)
==16611==    by 0x4E450CF: rest_xml_node_print (rest-xml-node.c:287)
==16611==    by 0x4E451DA: rest_xml_node_print (rest-xml-node.c:305)
==16611==    by 0x4E450F8: rest_xml_node_print (rest-xml-node.c:292)
==16611==    by 0x4009A0: main (xml.c:40)

GNOME/librest,GNOME/librest,GNOME/librest