Clean up stat modifiers.

Add stat mod functions (getStrMod, getDexMod, etc.), and clean up some
duplicate code by using them, as preparation for fixing starting skill ranks.

Delete Tab characters from TooltipsData.lua; they show up as blocks in T-Engine.

Fix a syntax error in data/general/nps/templates/humanoid.lua.
Fix saving throws failing on 1 and log messages.

The problem was this line: "if not roll == 1 and roll == 20 or roll + save >
dc then".  If I understand Lua's operator precedence correctly, this means "if
(not roll == 1 and roll == 20) or roll + save > dc then" (i.e., rolling a 1
isn't an automatic failure as intended).

Fix saving throw messages. They were added a long time ago but never worked
because the functions returned before they were called.

Unrelated: Fix pluralization in Player:pseudoID.
Fix skill log messages.

Previously, skills wouldn't log if a 1 or 20 was rolled.
Fix class skills: (4+int mod)*4, then 4+int mod.

There's a TON of duplication in data/birth/class.lua. It makes it hard to find
class details, update classes, and change how mechanics like skill points
work, and it makes it easy to introduce bugs. (For example, shamans and
paladins got 2 extra skill points at level 1, and sorcerers didn't get
intelligence modifiers at level 1.)

Using a table to give class parameters like skill points, HD, saving throw
progression, then using a function like Actor:levelupClass to process that
table, would be a much, much better design. I started doing this with skill
points.
Merge pull request #146 from joshkel/math-fixes

Math fixes