U.S. stocks rallied to their best day in two months, and oil prices fell after President Trump called off his threat to bomb Iran that evening.