YARN-753. Added individual factory methods for all api protocol records and converted the records to be abstract classes. Contributed by Jian He.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1489644 13f79535-47bb-0310-9956-ffa450edef68