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.
No.  I think I'm not wrong.

We know that sign(t) is nonzero.  So, it could be only `I*sign(t)` is positive or negative.  Both cases should be handled in the sign.eval.