refine: Added a function in refine for sign
refine: Added a function in refine for sign

A function refine_sgn added in refine to deal with sign.
Earlier all the expressions for refine of sign(x) returned
sign(x). This is due to lack of capabilities of refine.

Examples
========

>>> from sympy.assumptions.refine import refine_sgn
>>> x = Symbol('x', real = True)
>>> expr = sign(x)
>>> refine_sgn(expr, Q.positive(x) & Q.nonzero(x))
1
>>> refine_sgn(expr, Q.negative(x) & Q.nonzero(x))
-1
>>> refine_sgn(expr, Q.zero(x))
0
>>> refine_sgn(expr, Q.positive(im(x)))
I
>>> refine_sgn(expr, Q.negative(im(x)))
-I
Previously it would have returned sign(x)

kaushik94/sympy,kaushik94/sympy,kaushik94/sympy