Mohamed Salah has ended months of speculation over his future by signing a new two-year contract with Premier League leaders Liverpool.