Explicitly close streams in serve_xml()

Glib's documentation is not clear about whether it's the responsibility of
GThreadedSocketService callbacks to close & free the connection, and glib's
slice allocator makes using tools like Valgrind to check for uncollected
garbage difficult. After lots of experimentation and code-reading, I think I
have it right: it's up to us to close and unref the GUnixInputStream that we
create, but we should not attempt to free the GSocketConnection. If we don't
close it, it'll get closed anyway, but better to be explicit.

Change-Id: I2bb87ce95d4b0aa9bd40651e5b280cf5705c7368