Manchester City reach Champions League semis with 2-1 win at Dortmund