fix sign to recognize sqrt with negative arg
watch for sign change from I in sign()
simplify sign code, watch for recursion
add sign.is_(nonnegative|nonpositive)
Improve Mul._eval_is_rational: add check for zero

fixes #8008
expand sign docstring to reflect its complex nature
Fix is_rational helper for exp_polar(0)

fixes #8008
_minpoly_compose: Change incorrect is_rational tests to is_Rational

We need this, as later we use .p/q properties.
simplify Mul._eval_is_negative routine
simplify Mul._eval_is_even
Fixed typos in four files
Catch some "flips" for inequalities with NumberSymbol's

e.g. pi > x was processed before to (-pi) < (-x)
Merge pull request #8028 from smichr/sqrtsign

sign(sqrt(1-sqrt(2))) -> I instead of being unevaluated
Merge pull request #8041 from skirpichev/8008-fix-v2

Fix #8008 (v2)
Merge pull request #8044 from smichr/isneg

simplify Mul._eval_is_negative routine
Merge pull request #7918 from skirpichev/oo-ineq-2

Catch some "flips" for inequalities with NumberSymbol's
Merge pull request #7990 from raj454raj/typo

Fixed some typos
Revert "simplify Mul._eval_is_even"

This reverts commit 1b436d045107f610b51065e03eff0dbdf92e76c5.

This "simplification" produces loop, because Add._eval_is_odd
call in turn is_even property on Add's arguments.

fixes #8050
Revert "remove log.is_zero routine"

This reverts commit de47eb297f822edea3b70b8d8cf094072833b806.
Merge pull request #8052 from skirpichev/8050-fix

Revert "simplify Mul._eval_is_even"