Quinton de Kock fell agonisingly short of scoring a century for South Africa on day one of their Test against England.