England qualified for the Twenty20 World Cup semi-finals with a nervy victory by four wickets over Sri Lanka in their fi