SI-3235 Add round/ceil/floor to integral number types

This is a stopgap measure to prevent implicit conversions to
floating point numbers which cause issues like

  123456789.round == 123456792