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@1471559 13f79535-47bb-0310-9956-ffa450edef68
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@1471563 13f79535-47bb-0310-9956-ffa450edef68
MAPREDUCE-5166. Fix ConcurrentModificationException due to insufficient synchronization on updates to task Counters. Contributed by Sandy Ryza.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1@1471635 13f79535-47bb-0310-9956-ffa450edef68
HADOOP-9458. Fix RPC.getProxy to ensure it uses retries for getProtocolVersion too. Contributed by Tsz Wo Sze.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1@1471644 13f79535-47bb-0310-9956-ffa450edef68
MAPREDUCE-5166. Fixed a fat-fingered commit.

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