South Africa’s Rory Kleinveldt calls time on 17-year career