Math fixes

Various math and game mechanics fixes: saving throws didn't automatically fail on a 1, saving throws weren't logged even though the intent was apparently to log them, skill points per level failed to round intelligence modifiers and failed to give 4x int. mod. at level 1.

I started redesigning classes.lua to have less duplicating; see commit for details.

A few other fixes.