US President Donald Trump has again sparked controversy over violent clashes at a white supremacist rally in Virginia.