ID_Challenge_fixes
Fixes an exploitable bug that allows for certain ID challenges to be completed prematurely by zoning out to a special event level. Instead of resolving on any level change, challenges are only automatically resolved on death or when entering a new ID level. (The quest on_exit_check function is only run after the level change is complete to allow the destination to be determined.) This allows the Exterminate, Pacification, Rush-Hour, etc challenges to continue when entering a hidden vault, for example. The ZONE_AURA_CHALLENGE persists across levels if applicable and some quest text is clarified. Death always results in challenge failure (unless already successfully completed).
Specific changes:
Pacifist: Death or zoning to a special event level will not trigger immediate success
Exterminator: Zoning to a special event level will not trigger automatic failure
Rush Hour: 20 more turns to complete, continues to count down (with warnings) in a special event level (must exit to the next ID level)
Fixes a bug in GameState:startEvents that was not checking for the special function for major events with events_by_level set.