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))
```
Can you add a very simple docstring explaining what this function is doing?

Is it testing for half-integer?