Defending champions South Africa edge England to reach Rugby World Cup final