Sharing in Term.map_constr.

If the newly created subterms happen to be same as the original, no new term is allocated. My principal target is Reductionops.nf_evar.