Kagiso Rabada took his fourth wicket of the innings as South Africa wrapped up a 107 run win in the first Test against England.