Former Bank of England governor Mark Carney has been named Canadian prime minister after winning the Liberal Party leadership in a landslide victory.