Tiny improvements to eval
Tiny improvements to eval

Tiny bug fix: "eval(Bind(f(x),y,f(x)),{f(x)=z,z=t})" should yield "Bind(z,y,z)" rather than "Bind(t,y,z)"
Tiny performance fix: "eval(Bind(f(x),y,Bind(a,b,0)),f=g)" should not recur
Some simplifications, I hope :-P

zachsully/hakaru,zaxtax/hakaru,zachsully/hakaru,zaxtax/hakaru