David Cameron says Donald Trump's comments are "divisive, stupid and wrong," at Prime Minister's Questions.