[SPARK-4109][CORE] Correctly deserialize Task.stageId

The two subclasses of Task, ShuffleMapTask and ResultTask, do not correctly deserialize stageId. Therefore, the accessing of TaskContext.stageId always returns zero value to the user.
Actually hold on - I tested it again and the compiler is not doing the right thing. Let me verify.