3712

- try return a factored expr more often from simplify
With the changes made here, more "factored" expressions are obtained from simplify:

```
>>> simplify((x-y)*(40*z-20)/10)
2*(x - y)*(2*z - 1)
```
<https://code.google.com/p/sympy/issues/detail?id=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)
<https://code.google.com/p/sympy/issues/detail?id=3341>

- keep expr as option before powsimp, e.g.

```
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