Add rewriting support to Pipes

o Convert addEagernessIfNecessary to use regular rewriting
o Remove Pipe.dup
Update ExecutionContexts in place