Mark Carney, who has only been prime minister for 10 days, has called for a general election to be held on April 28.