MPs vote for smoking ban despite Tories’ division over policy