bit shifting safety

* add u3, u4, u5, u6, u7 and i3, i4, i5, i6, i7
 * shift operations shift amount parameter type is
   integer with log2 bit width of other param
   - This enforces not violating undefined behavior on
     shift amount >= bit width with the type system
 * clean up math.log, math.ln, math.log2, math.log10

closes #403
987768778aAndrew Kelley committed on 8/19/2017, 5:43:43 AMparent558ece8
25 files changedLine totals unavailable