Small fix for Dirichlet character L-functions

The code was checking the values of the character to see if it is real,
and there was an issue where it was trying to compute the imaginary
part of a really complicated algebraic number exactly. This takes a long
time. This is changed now so that we just use multiplicative_order() to
determine if the character is real.