Anthony Albanese has called the federal election for May 3, ending months of speculation about when Australians will head to the polls.