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.
(here's a related ticket already: https://github.com/akka/akka/issues/15153)