SI-3235 math.round() returns wrong results for Int and Long

Near-minimal fix for math.round() issue.  (Based on a more extensive fix proposed by soc.)

RichLong intercepts calls to the four floating-point-only methods of .math: round, rint, ceil, and floor.

Also catches round on Int/Long in scala.math.