* Use a dirty flag so statuses can be recalculated only when they might have changed
* Remove support for unused criteria types
* Re-ID the status constants so the objective status can be the minimum of the criteria statuses
* Merge multiple complete flags into one criteria item
* Merge multiple fail flags into one criteria item
* Use a g_AnyObjectiveFailed variable so the objectives failed AI doesn't have to iterate them
* Roll up all the objective failed commands into a new "any objective failed" one
* Remove wasteful looping logic from ailist
* Use existing statuses array instead of recalculating every objective on every frame