Manchester City hold on to beat Leicester and move back into third as Riyad Mahrez's late penalty is disallowed for the Foxes.