Don't save zero-byte xunit test reports

This change defers creating a report file in the xunit plugin until the report() method is called so that a zero-byte file isn't created if something goes wrong. This helps with Jenkins since it doesn't handle the empty xml file well.