MotionToSuppress

A Formatter that indicates reporters may wish to suppress reporting of an Event.
"Suppress" means that the event won't be reported to the user.

An example is that specification-style suites, such as FunSpec, generate output that reads
more like a specification. One aspect of this is that generally only a single event should be reported
for each test, so that output can appear like this:

A Stack (when newly created)
- should be empty
- should complain when popped

ScalaTest suites should generate two events per test, a TestStarting event and either
a TestSucceeded or a TestFailed event. The FunSpec trait does report both events,
but passes a MotionToSuppress along with the TestStarting event. As a result,
The TestStarting events have no effect on the output. Each TestSucceeded or
TestFailed event, which is sent with an IndentedText formatter instead of
a MotionToSuppress, will generate output, such as "- should be empty".

Reporters may choose to ignore a MotionToSuppress. For example, an XML reporter may
want to report everything about every event that is fired during a concurrent run, so that the
events can be reordered later by reading the complete, but unordered, information from an XML file.
In this case, the XML reporter would actually report events that were fired with a MotionToSuppress,
including indicating that the report included a motion to suppress.