Define functions for ImaginaryUnit

Now many common functions are not defined for imaginary unit `im` that has separate type (not Complex).
```
julia> sin(im)
ERROR: no method sin(ImaginaryUnit,)

julia> sqrt(im)
ERROR: no method sqrt(ImaginaryUnit,)
```
This pull request defines missing methods with `ImaginaryUnit` argument.