House passes defence bill with amendments addressing Iran, Saudi arm sales and Yemen. Trump has threatened a veto.