Rewrite difficulty system

Fixes #80
Simple performance tip: Cache.
```lua
local Damages = MobDamages[Attacker:GetClass()]
if (Damages ~= nil) then
  ...
```