Helper procedures
Some simplifications
Merge
Fix bug in BinderExpr where Equals() was not corrected implemented.

BinderExpr was doing:

object.Equals(this.TypeParameters, other.TypeParameters)
&& object.Equals(this.Dummies, other.Dummies)

Both of these are wrong because these are of type List<> and so

- object.Equals(this.TypeParamters, other.TypeParameters) will call this.TypeParameters.Equals(other.TypeParamters) (assuming they aren't references to the same list)
- object.Equals(this.Dummies, other.TypeParameters) will call this.TypeParameters.Equals(other.Dummies) (assuming they aren't references to the same list)

so this is becomes a reference comparision on Lists<>. This is wrong
because Equals() has been overloaded to implement structural equality.

This affects the classes ForallExpr, LambdaExpr and ExistsExpr.