World Cup semi-final beckons for Afghanistan after historic Sri Lanka win