* Cleaned up type signatures
* Changed names of Source/Sink/ProcessorFlow to Tap/Drain/Pipe
* Introduced new Source/Sink/Flow
* Made all Pipe types package private
* Changed the TypeGraph DSL to work on Flow/Sink/Source
* FlowGraphCompileSpec broke when merging in the unzip on top of
the variance adjustements
* JunctionOutPort[T] must not be defined like JunctionOutPort[+T]
because then the NextT = Nothing doesn't work
* Do we have a reason to use JunctionOutPort[+T]? I added +T
only for symmetry reasons with JunctionInPort[-T].