Merge -c 1471559 from branch-1 to branch-1.2 to fix MAPREDUCE-4737. Ensure that mapreduce APIs are semantically consistent with mapred API w.r.t Mapper.cleanup and Reducer.cleanup; in the sense that cleanup is now called even if there is an error. The old mapred API already ensures that Mapper.close and Reducer.close are invoked during error handling. Note that it is an incompatible change, however end-users can override Mapper.run and Reducer.run to get the old (inconsistent) behaviour. Contributed by Arun C. Murthy.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2@1471560 13f79535-47bb-0310-9956-ffa450edef68
Merge -c 1471563 from branch-1 to branch-1.2 to fix MAPREDUCE-5169. Fixed JobTracker recovery to ensure both job-info and jobToken file are saved correctly to prevent race-condition between job submission and initialization. Contributed by Arun C. Murthy

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2@1471565 13f79535-47bb-0310-9956-ffa450edef68