In general expand() treats the argument as a rational expression (and
leave transcendental functions as they are). However sometimes it's
convenient to expand transcendental functions too, like
log(a*b) = log(a) + log(b)
exp(a + b) = exp(a)*exp(b)
Applying such transformation by default doesn't seem to be a smart idea
(think of log(p^2/mu^2) transformed to 2*log(p) - 2*log(mu)). Therefore
introduce expand_options::expand_transcendental. As the name implies expand()
tries to transform transcendental functions only if this flag is set.
Signed-off-by: Vladimir V. Kisil <kisilv@maths.leeds.ac.uk>