Springboks edge out All Blacks in Ellis Park thriller after brave fightback