optionally clean up objects placed by mission

add cleanup variable to protected objects
sleep function that uses diag ticktime
purge function
cleanup thread function
Merge remote-tracking branch 'origin/feat/mission-despawn-timers' into logic/use-new-functions