Return the remainder from dividing self by other.
This differs from self % other in that the sign of the remainder is
chosen so as to minimize its absolute value. More precisely, the
return value is self - n * other where n is the integer nearest to
the exact value of self / other, and if two integers are equally
near then the even one is chosen.
If the result is zero then its sign will be the sign of self.