Introduce dashboard client in the catalog

http://docs.cloudfoundry.org/services/api.html the latest version of the API has introduced the notion of dashboard client in the catalog. That object contains the dashboard client id, secret and redirect URI.

I have introduced the annotation DashboardClient that can be used in the annotation Service. Unfortunatelly, because of Java, this field cannot be null by default. So, by default an empty DashboardClient is set. The existing code that uses this API won't be impacted.

```
    @ServiceBroker({
          @Service(id = SERVICE_ID, name = SERVICE_NAME, description = SERVICE_DESCRIPTION,
                plans = {
                      @ServicePlan(id = PLAN_ID, name = PLAN_NAME, description = PLAN_DESCRIPTION)
                }
          ),
          @Service(id = SERVICE_ID_2, name = SERVICE_NAME_2, description = SERVICE_DESCRIPTION,
                plans = {},
                dashboardClient = @DashboardClient(id = DASHBOARD_CLIENT_ID, secret = DASHBOARD_SECRET,
                      redirectUri = DASHBOARD_URI))
    })
```

Another change concerns DTOs (catalogService, Plan, ...). We kept the constructor, but we had another one and we have introduced setters. Most of the parsing library that could use those DTOs do not support constructor injection. The code that uses this library should not have to copy paste DTOs only to introduce setters.

A concret use case is: we parse a YAML configuration to construct a dynamic catalog.