!str #16484 #16392 Remove String identifier of junctions

* descriptive name can still be defined with OperationAttributes.name
* revisit all factory methods (apply/create) and implement and document
  them in a consistent manner
!str #16400 Add Java API for StreamTcp

* move io.StreamTcp to scaladsl.StreamTcp
* add javadsl.StreamTcp that delegates to scaladsl implementation
* move impl
* add java test
Merge pull request #16562 from akka/wip-16484-removed-junction-name-patriknw

!str #16484 #16392 Remove String identifier of junctions
Merge pull request #16550 from akka/wip-16400-javadsl-stream-io-patriknw

!str #16400 Add Java API for StreamTcp
+doc #15239: Stream cookbook
fixed merge conflicts, fixed reducebykey
=str #16549 doc: Integration with External Services
Merge pull request #16570 from akka/wip-16549-doc-integration-patriknw

=str #16549 doc: Integration with External Services
=str #16549 doc: Integration with Reactive Streams
Merge pull request #16498 from drewhk/wip-15239-stream-cookbook-drewhk

Stream cookbook
+doc: Document graph cycles
Merge pull request #16579 from akka/wip-16549-doc-rs-integration-patriknw

=str #16549 doc: Integration with Reactive Streams
Merge pull request #16572 from drewhk/wip-stream-doc-graph-cycles-drewhk

+doc: Document graph cycles
+doc flow / flowgraph docs, moved quickstart
+ moved quickstart
+ more info about simple materialization
+doc explain backpressure / reactive streams a bit