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
	- [x] give example of when necessary

```
expr = (_t*exp_polar(-I*pi))**(a - 1)
powsimp forms:
_t**(a - 1)*exp_polar(-I*pi*(a - 1))
_t**(a - 1)*exp_polar(-I*pi*(a - 1))
```
- 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 other sympy functions can't and sometimes it is possible to prove the result
- `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