Johannesburg will host the final of next year’s Cricket World Cup as well as a marquee game between archrivals Pakistan and India.