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)
Change Kane and Lagrange attributes

- KanesMethod has q and u as full attributes
- LagrangesMethod has q as a full attribute
- KanesMethod now stores forcelist and bodylist as attributes
Deprecate set.is_real property, use set.is_subset(Reals) instead

fixes #6212
Improve Mul._eval_is_rational: add check for zero

fixes #8008
expand sign docstring to reflect its complex nature
Add @property to some attributes

- KanesMethod.q, .u, .forcelist, and .bodylist are all read-only now
- LagrangesMethod.q, .u, and .forcelist are all read-only now
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
Merge pull request #7996 from skirpichev/remove-is_real-for-sets

Deprecate set.is_real property, use set.is_subset(Reals) instead
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