CDAP-557 Refactor AbstractAppFabricHandler

https://builds.cask.co/browse/CDAP-DUT133-2
Better to have the list/build passed in rather than returning a list and then copying to another list.

`createProgramRecords(String appId, ProgramType type, Iterable<? extends ProgramSpecification> specs, List<ProgramRecord> result);`