=str #16103 Flattening FlowOps into Flow (same for Sink / Source)

Simplified inheritance in javadsl. 

* FlowOps didn't gain much - removed now (same for Sink / Source).
* SimpleSink didn't add anything - it's now simply Sink.
* KeyedSink must remain because of the additional type param it has to carry around.

This could be flattened further, to replace `Sink + SinkAdapter` with just `abstract class Sink`, but I think separating the impl is actually useful for separation of "internal thingy, do not touch".

Refs #16103 

Still a `case class`