South Africa has expelled Israel's top diplomat in the country for "violating diplomatic norms", a move that prompted Israel to kick out a South African envoy in retaliation.