Marouane Fellaini and David de Gea produced heroics at either end as Manchester United secured victory at Crystal Palace.