Theresa May’s government broke Brexit ‘free vote’ promise, triggering Conservative MP to resign