Justin Trudeau announced he is resigning as Prime Minister of Canada ahead of elections this year after a cabinet revolt.