made _adversarial_search more generic and apply to both alpha_beta and minimax