Conor Gallagher scored twice - including a 94th minute stunner - as Crystal Palace returned to winning ways against Everton at Selhurst Park.