introduce the notion of dynamic catalogs

Currently, catalogs are built from annotations which make them static. In our case, we have one broker offering services based on a configuration. Everything is dynamic.

In a first step, I have introduced the notion of catalog provider. One implementation is the current implementation which creates a catalog from the service broker annotation. 

I have created a new implementation that calls the method annotated with @DynamicCatalog and that returns a catalog.

I have also introduced the notion of service accessor. An accessor is responsible of calling the method. The only implementation calls method annotated with Bind, Provision, ... so the existing code.

In other words, the catalog provider is responsible of retrieving services and how to access them. The service broker handler is simpler than before. There is a cleaner separation of concern.