President Donald Trump has announced broad tariffs on three major US trading partners Canada, Mexico and China.