Add XML Support

/to @ritch
> Why not?

 - Because it's adding extra code that only duplicates stuff that is already handled by Node.
 - This extra code is tightly coupled with the value passed to `res.end`. It's easy to forget to update the content length when the content is changed.
 - It's easy to introduce subtle bugs caused by different character and byte length. Imagine that a middleware added by a 3rd party modifies the response to use UCS-2 (UTF16) encoding. Now the correct length is `14`, but you are sending `7` and thus corrupting the HTTP socket.