Andy Murray reached his third Australian Open final with a 6-4 6-7 6-3 6-7 6-2 victory over Roger Federer.