Exponential Module

Currently I've created an `Exp` class. However, as @certik suggested, it might not be that necessary to create a class for `Exp`.
The only new addition was an explicit `diff` which can be incorporated in the current `diff` of `pow` itself as a special case.
My earlier view was that since we will be adding functions like `rewrite_as_exp` functions in trignometric classes it might be useful to have an `Exp` class but I guess as Aaron said on gitter, 
> it's better to special case E in one place (pow) than to special case exp everywhere in the code that tries to deal with pow objects 
This is fine. In the long run, we really have to simplify (and speedup) this function.