Events reported by forked tests should be sequence of (String, SuiteResult)

Currently events reported by forked tests are a `Map[String, SuiteResult]`. With some configurations (in particular, nested suites in ScalaTest), the suite name is the same for all nested suites. Using a Map causes loss of reporting information for all but one tests with the same name.

Changing this to a Seq allows all results to be reported.

This is related to https://github.com/scalatest/scalatest/issues/167
Also related to https://github.com/sbt/sbt/pull/1364
But this fixes the issue when `fork in Test := true`.

Example failure at https://gist.github.com/fiadliel/4071e61b3fd9331a81d4
Unfortunately, this breaks binary compatibility :(.  I think what you've done is correct, but we cannot accept this in the 0.13.x series, unfortunately, due to breakages.

What you could do:

```scala
final case class Output(overall: TestResult.Value, eventSequence: Seq[(String, SuiteResult)], summaries: Iterable[Summary]) {
  @deprecated("0.13.8", "Use the event sequence version instead")
  def this(overall: TestResult.Value, events: Map[String, SuiteResult], summaries: Iterable[Summary]) =
     this(overall, events.toSeq, summaries)
  @deprecated("0.13.8", "use eventSequence instead")
  final def events: Map[String, SuiteResult] = eventSequence.toMap
  // Override copy and unapply methods..... (lots of ugly work)
}
```

Option #2 is to create a new type "Output2" or some such while deprecating this entire case class.

Option #3, of course, is to wait for sbt 1.0.