CDAP-557 Refactor AbstractAppFabricHandler

https://builds.cask.co/browse/CDAP-DUT133-2
I think it would be nicer to have `ApplicationSpecification.getPrograms(ProgramType)`. Should try to consolidate code that handles every value of an enum and keep it at the same place.