South Africa's Zuma sacked finance minister Gordhan in a cabinet reshuffle after days of speculation that has rocked the country's markets and currency.