Eval Abs(exp(x*I)) as 1 if x is real

- also rewrite re and im in terms of each other, useful for some simplifications
lines 474 and 477 are not covered by the added tests...perhaps you will have to use unevaluated Pow as in `Pow(foo, bar, evaluate=False)`?