Implement reductions for the product of a complex conjugate pairs (issue 2296):

    This is done for Mul.as_real_imag,  e.g. im(x*x.conjugate()) -> 0