Learning Optimal Classification Trees Robust to Distribution Shifts