Donald Trump has told Iran it can attack Los Angeles or San Diego in a controversial rally rant, claiming it is a "small price to pay"