Merging from trunk to branch-2.1-bata to fix YARN-742.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2.1-beta@1489598 13f79535-47bb-0310-9956-ffa450edef68
YARN-756. Remnants from moving Preemption* records to yarn.api where they really belong. Contributed by Jian He.
svn merge --ignore-ancestry -c 1489614 ../../trunk/


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2.1-beta@1489630 13f79535-47bb-0310-9956-ffa450edef68
svn merge -c 1489634 Merging from trunk to branch-2.1.0-beta to fix HDFS-4840.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2.1-beta@1489640 13f79535-47bb-0310-9956-ffa450edef68
YARN-753. Added individual factory methods for all api protocol records and converted the records to be abstract classes. Contributed by Jian He.
svn merge --ignore-ancestry -c 1489644 ../../trunk/


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