Tormenta refactor

I attempted to clarify what we do in tormenta in classes better:

We have three core items

SpoutProvider ultimately to provide a getSpout function, has both a getSpout and getSpout(schemeTransformer)

SchemeTransformer, really just a wrapper on a T => TraversableOnce[U]. But the abstraction makes it easier to use in things like the Twitter spout that come with a type other than Array[Byte], and the TraversableSpout.

The Scheme, I didn't touch this, but this is the raw decoding Array[Byte] => T decoding abstraction of Tormenta. It fits nicely into the provided storm spouts.

as above, why is getSpout coupled with a transformer, instead of transforming the provider and then calling getSpout? It feels like we are mixing two things here, one is the transformation of the closure and the other is getting the provided thing (true in the flatmap as well)