8247: use equals(0) in Expr.is_positive|negative

closes #8274 

Only attempt this test if the _prec is 1 since that happens
when a zero could not be computed with precision. In this case
some simplification or minpoly might be able to show that it is
zero.

Put a guard on try/minpoly to watch for NotImplemented and NotAlgebraic:

sympy/integrals/transforms.py", line 1818, in
sympy.integrals.transforms.inverse_hankel_transform
Failed example:
    inverse_hankel_transform(ht, k, r, 0)
    Exception raised:
        Traceback (most recent call last):
        ...
    NotAlgebraic: exp_polar(0) doesn't seem to be an algebraic element

See also issues #8349, #8352, #8353, #8354.
Why this looks as a good idea for you?  `equals` _is_ slow and this is a feature: we try to do our best to solve zero-equivalence problem.