process imaginaries to determine whether expr is positive or negative

pairs of imaginary factors change the sign of an expression; detecting these was added to Mul._evalf_is_negative.
maybe you should use the evaluate context handler? (for the whole block of such asserts)