Sahibzada Farhan makes a superb century as Pakistan beat Sri Lanka by five runs in the T20 World Cup Super 8s but miss out on a semi-final spot on net run-rate.