Enhancements to the XmlReporter.

The `XmlReporter` currently ignores the user's request for test durations. Also, it does not include the `macroName` of a failed expression.

While I was adding the 2 enhancements above, I changed `XmlReporter` over to the new `StreamingReporterBase` rather than the deprecated `IReporter`.

This is my first ever pull request, so let me know if I've done anything wrong.