Manchester City completed a dramatic late comeback, scoring twice in five minutes to beat Southampton and secure a place in the FA Cup final for the fourth consecutive year.