optionally clean up objects placed by mission

add cleanup variable to protected objects
sleep function that uses diag ticktime
purge function
cleanup thread function