watch for negated base pairs

In theory this problem should be handled by signsimp but
sqrt(-(x - z)) signsimp only looks for things that can have a negative
sign exptracted so (x - z)/sqrt(z - x) becomes (x - z)/sqrt(-(x - z))
and that doesn't simplify unless we look for the negated base in powsimp.

Only a minimal attempt is made to find the negated pair. If one desires
other things like x + y*(z - x) to be recognized as the negated expression
of -x + y*(x - z) then signsimplification should be done first.

>>> (x + y*(z - x))==(-(-x + y*(x - z)))
False
>>> signsimp((x + y*(z - x)))==signsimp((-(-x + y*(x - z))))
True

Number that are negated are handled elsewhere so these are sepcifically
exclluded from consideration by the added code.
Merge pull request #2111 from smichr/powsimp

watch for negated base pairs in powsimp