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
I find the two versions of `~>` confusing