require a % of AI to be killed for mission to complete

this should do it.

allows a % to be set in the config

changes DZMSAISpawn function to a call (so it's run on the same thread and units can be properly added to the array)

create waitformissioncomp function which the missions each call to wait for their units to be dead and the player to be in range

unit arrays are handled by a passed name -- this makes it so that any piece of code can create a callback array and then spawn units into it  -- could be handy for future projects where dynamic mission arrays are formed etc.