!str #15950 Add runWith and remove toX

* runWith(drainWithKey) and runWith(tapWithKey) returning the
  materialized drain/tap
* remove toPublisher, toSubscriber, and friends, in favor of using
  runWith
* MaterializedMap is the return type for both flow and graph
* Source[T] return type for Source.apply methods
+str #15950 Add fold and foreach shortcuts
Merge pull request #16034 from akka/wip-15950-runWithSink-patriknw

!str #15950 Add runWith and remove toX