3712

- try return a factored expr more often from simplify
	addresses issue 3712
- denest powers in powsimp so 4**s*2**(x-2*s) -> 2**x
- allow factors of coeff to enter powers so powsimp(12*2**x) -> 3*2**(x + 2)
- keep expr as option before powsimp
	- [ ] give example of when necessary
- mark some solve tests as slow
	this removes about a minute from testing time
- Factors cleanup and non-integer exponent handling
	Factors works harder to keep Rational bases sorted out better and differentiates bewteen easy-to-handle numerical exponents and more difficult symbolic exponents
- equals tries to prove an nsimplify result
	in some cases nsimplify can do things sympy can't and sometimes it is possible to prove the result
- use equals on numbers in sign and abs
	since equals can prove more, now, it is used as a late option in sign and abs
- `AliedUndef.is_number` -> False
	f(3).is_number is now False since the `is_number` attribute usually means that something can be evaluated to a number (which f(3) cannot)
- exp_polar related changes
	some attributes of exp_polar were modified so it can identify when it itself is a number
- add quick exit for simplify if expr is Atom
	it just seems to make sense that an Atom should exit quickly from simplify