[2.2] Pipelining pipes

Attempt at updating execution context in place, performance benefit of 10 % locally on one query, sightly worse on others. 

On the side, avoids a nasty bug around rewriting and anyval (don't do it) and makes pipes rewriteable instead of using Pipe.dup (which now is removed).