consolidate exp._eval_power and Pow._eval_power

Consolidate exp._eval_power into Pow._eval_power as much as possible.

Details are given in the commit's log.

In master, the lhs is incorrectly reported with a negative of the rhs
```
    assert sqrt(exp(3 + I)) == exp(S(3)/2 + I/2)
```
these are not recognized of being able to combine exponents
```
    ((1 + I)**(I*pi/(2*log(sqrt(2)))))**(S(1)/3)
    ((1 + I)**(-I*pi/(2*log(sqrt(2)))))**.3
    ((1 + I)**(-I*pi/(2*log(sqrt(2)))))**(1/S(3))
    ((1 + I)**(-12*I*pi/log(sqrt(2))))**(1/S(3))
```
This comment is not correct. If `e=3/2`, then `abs(e) = 3/2 = 1.5 < 2`. If `b=-1`, then `arg(b) = pi`. So:
```
e*arg(b)/2/pi = 3/2 * pi / 2 / pi = 3/4
```
So
```
floor(1/2 - 3/4) = -1
```