House of Lords defies Theresa May over EU nationals' right to stay in UK