Factors: -1 handling and non-integer exponent handling
use equals on numbers in sign and abs

NOTE: things like f(0) + f(1) are considered numbers, so the is_comparable
test is used instead.
AppliedUndef.is_number -> False
exp_polar related changes

* define is_number for exp_polar

* move abs after test for exp_polar (which has been changed to a test
that arg.is_Number or pure_complex rather than testing for the _prec i
attribute).
use simplify in geometry

The only place where nsimplify is used is in the definition of Points.
That instance is now limited only to converting floats to Rationals.
Without the rational=True option it would have converted, with approximation,
expressions like follows:

>>> nsimplify((1/(exp(3*pi*I/5)+1)),rational=0)
1/2 - I*sqrt(sqrt(5)/10 + 1/4)

Although that is correct in this instance, it might not always be
correct.
add quick exit for simplify if expr is Atom