Former England all-rounder Basil D'Oliveira, who ended up playing for his adopted country after seeing his path blocked in his native apartheid-era South Africa, has died at the age of 80.