The ContentType repr() incorrectly used , instead of ;.
This defines a new sort of TestResult, StreamResult.

This is intended to prototype the new API for inclusion upstream.
Adds a recording StreamResult for writing tests with.
Adds a CopyStreamResult which copies StreamResult events to multiple outputs.

This allows applying multiple terminal handlers to one stream.
Add StreamSummary to generate summary statistics and capture failures.

This is equivalent the to behaviour in the TestResult class, but split into a
dedicated helper (so that decorators and the like don't need to waste cycles
generating them).
Add a dedicated interface for controlling an in-progress TestRun.
Add an adapter to convert ExtendedTestResult to StreamResult.

This permits using code that uses any Python unittest test code
with a StreamResult.