This commit modifies the xml output of lit so that we always open the
file as utf-8 and also encode any invalid characters with the xml
character reference.
I was hitting an encoding error on windows for some test output because
the xml file was using the windows cp1252 encoding and it ran into some
characters that could not be encoded.
In order to test the change I added a new flag to lit
`--xml-include-test-output` which will include all test output in the
xml. That way we can still expect the lit run to pass and also validate
that the xml file is properly encoded.