WIP Steams typesafe DSL

Only Flow for now. Biggest concern here is naming (of course, see [here](https://github.com/2m/akka/commit/c00fd67df1d557ba2873b59edc7263654be53771#commitcomment-7423015)) and the fact that `HasOpenOutput` and `HasOpenInput` have two typed parameters (see [here](https://github.com/2m/akka/commit/c00fd67df1d557ba2873b59edc7263654be53771#commitcomment-7421351)).

Graph implementation to be done.
Just a heads up: we'll need transform to take a factory like in https://github.com/akka/akka/pull/15725 even in the new DSL I believe.