Damage category refactor for gen 3
Damage categories are now read using .getCategory, which gen 3 overrides.

move.category can still be read directly to check if something's a status
move, but it should never be used for reading damage categories.

This also fixes a crash in gen 3 and makes it playable again.