David Warner hit an unbeaten 93 as Sunrisers Hyderabad beat Gujarat Lions by four wickets to reach the IPL final.