It was billed as a decisive day for Brexit, but MPs have voted to delay the approval of Boris Johnson's new deal.