MPs vote by 321 to 278 to rule out no deal despite government whipping Tory MPs against motion, following 312-308 win for Spelman amendment