* and rename the factory for ActorPublisherSource,
from Source.apply to Source.actorPublisher
* including internal buffer, with OverflowStrategy
* support to complete/fail stream
`abstract class FlattenStrategy` was used in both javadsl and scaladsl, but the concrete concat
for the javadsl was in javadsl.FlattenStrategy and the concrete concat for the scaladsl is in
stream.FlattenStrategy.
Now there are separate FlattenStategy in scaladsl and javadsl packages and conversion
as we have in other places.
* replace JavaConverters with explicit methods
* remove asJava/asScala for FlattenStrategy
* Remove name parameter (no overloads), naming is performed using `.withAttributes` or the new
convenience `.named`. Those adds the OperationAttribute.Name and also change the name of the
shape Inlet and Outlet.
* Remove Source/Sink parameter list for 0 parameter methods,
this allows usage of `Sink.head` instead of `Sink.head()`
* Fold Tap/Drain into Source/Sink
* Create Source/Sink helpers to create all Sources/Sinks
* Make concrete Source/Sink implementations private[scaladsl2]
Missing features are:
+ be able to use all junctions from Java
* re-think akka.stream.javadsl.japi (because variance)
+ better docs
+ enable all tests
+ Partial flow graph as well as GraphFlow tests
+ enabled more FlowTest tests
+ fixed naming of internal classes (no Java in class names)
+ added converters for UndefinedSink/Source