New normalisation rules for nested If and CheckWithin

Rules are stated in the notes, and used in ContractTransform.normalise.

All are based on equality of predicates in nested if/checkwithin.
Would be even better if equivalent predicates could be identified;
an expression normalisation would already help here.