Make EXPT use double-precision throughout in more cases
lp#741564 notes that a Maxima test case fails because the result of
(EXPT <fixnum> <(complex double)>) is much less precise than expected.
This is caused by EXPT using an intermediate single-float value here.
This behaviour actually occurs for all the following combinations
of argument types: