!str #16102 Fold Tap/Drain into Sink/Source

* Introduce SimpleSource and KeyedSource traits
* Create Source/Sink helpers to create all Taps/Drains
* Make concrete Tap/Drain implementations private[scaladsl2]
* Now folded SimpleSource/SimpleSink into Source/Sink

Fixes #16102