Donald Trump has had a fractious relationship with Justin Trudeau over the years, including one public spat in which the billionaire branded the Canadian Prime Minister "dishonest and weak".