=str #16001 Propagate error to FoldSink's future

* align OnCompleteSink's implementation of error/success handling with
  that of other Sink's
Merge pull request #16006 from volkerstampa/wip-16001-foldsink-error-handling-volkerstampa

Propagate error to FoldSink's future. Fixes #16001
+str #15977 Rename and change types in the new DSL

* Cleaned up type signatures
* Changed names of Source/Sink/ProcessorFlow to Faucet/Drain/Pipe
* Introduced new Source/Sink/Flow
* Make all Pipe types package private
* Change the TypeGraph DSL to work on Flow/Sink/Source
Updates according to review and discussion.

* Simplified type hierarchy
* Changed `Faucet` to `Tap`
* Removed `prepend`
* Renamed `append` to `connect`
* Documented APIs