MPs vote by 329 to 302 for Letwin amendment, despite Theresa May saying government would not be bound by result