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