CDAP-469 Endpoint to list all services

Or to even better:

```java
protected List<ProgramRecord> listPrograms(Collection<ApplicationSpecification> appSpecs, ProgramType type) throws Exception {
  for (ApplicationSpecition appSpec : appSpecs) {
    switch (type) {
      case FLOW:
        return createProgramRecords(appSpec.getName(), appSpec.getFlows().values());
      case PROCEDURE:
        return createProgramRecords(appSpec.getName(), appSpec.getProcedures().values());
      ....
      default:
        throw new Exception(...);
    }
  }
}

private List<ProgramRecord> createProgramRecords(String appId, Iterable<? extends ProgramSpecification> programSpecs) {
  List<ProgramRecord> result = Lists.newArrayList();
  for (ProgramSpecification programSpec : programSpecs) {
    result.add(makeProgramRecord(appId, programSpec, type));
  }  
  return result;
}
```