Cleaned up * and /, fixed bugs in expt, sin, cos

expt was checking to make sure a quaternion had i,j,k parts using
(real? …), which is why sin and cos returned +nan.0’s when there was no
real part.