Britain's Andy Murray faces four-time champion Roger Federer in his maiden Grand Slam final at the US Open.