Gamedef framework refactoring

Most of this is under-the-hood changes, but one new feature made it in:
Status definitions can specify IDs of other statuses to overrule
(cancel) when the condition is inflicted.  For example, Skeleton
overrules Zombie.