Use NSXMLDocument in JUnitReporter to fix issues with unencoded chars

We've had problems with the JUnitReporter which didn't encode some control characters within the system-out node and produced invalid xml. Using NSXMLDocument instead of plain strings should fix the issue.