scala-stream-collector: changes to allow for multiple sinks

Instead creating, passing around, and calling functions on individual
`AbstractSinks`, use a `List` of `AbstractSinks`.

+ amended the example config to use `[]` array notation
+ spectest goodness

References the discussion in #506

Two changes that I'm not sure of:
1) I changed the Collector name string to omit the `"-${sinkType}"` (e.g. `"-test"` at the end of the name. I chose this over two other options
 + Appending all the collector names `-sinktype1-sinktype2-sinktypeN `-- didn't seem sensible to me
 + For each sink, log a different `SnowplowRawEvent` with a different collector name -- didn't seem right to me

2) For the sake of testing, the `sinkResponse` is returned. In this new paradigm I just went with returning `sinkResponses(0)` but in practice this could cause a runtime exception if the list is empty.

Thoughts are welcome and appreciated!! Thanks.