MP's have voted against the government's Brexit deal timetable in a major blow for prime minister Boris Johnson.