Change attribute modifiers to use integers.

Adds the bits needed for #6079 and #6202.  I have left de-floating the rest of the speed and firepower plumbing as TODOs, as their required changes rapidly balloon out into a much larger patch.
Always returns `0` if you have any armor levels. With how the percentages are applied, should you use  `ArmorModifier = { 90, 80, 70, 50 }` and remove the `1 /` here?