Adds a shallow shim of the Graph DSL

* has two different graph builders
* adds tests of what compiles and what not
* writes HttpPipeline with both graph builders

Fixes #15767
To be more similar to `broadcast` we could do `merge(to: ..., from: Seq[...])`