Create IBinderDecider interface with shouldBeBound method() and propagate change to implementation.
Create IServiceMetaData interface and change IService interface. Change core implementation adding IInternalService interface and new implementations.
Create IServiceProvider interface. Change core implementation using it.
Better error message.
Create IResourceManagementListener and remove IBindingManagement. Change core implementation reflecting this change.
Create ServiceNotFoundException and use it in IServiceProvider. Propagate this change.
Divide IExecutionService interface into itself and IObservationService. Propagate this change.
Merge pull request #15 from shummi/master

Merge, Refactoring ResourceManagement, moved Endpoint and Credentials
Merge branch 'master' of https://github.com/dana-i2cat/mqnaas into core/restructure

Conflicts solved:
	core.api/src/main/java/org/mqnaas/core/api/IBindingManagement.java
	core/src/main/java/org/mqnaas/core/impl/BindingManagement.java
	core/src/main/java/org/mqnaas/core/impl/ExecutionService.java
	examples/testapp/src/main/java/org/mqnaas/examples/testapp/MyTestApplication.java
Merge pull request #16 from logoff/core/restructure

Restructure core
ResourceNotFoundException created. Used in IRootResourceManagement interface. Propagate the change..
Merge pull request #17 from logoff/core/resourcenotfound

ResourceNotFoundException
Move bundleTree stuff to new MQNaaS submodule. Update references.
Use methods to access CapabilityInstances in BindingManagement.
BindingManagement reacts to resources removal.

On resoure removal, BindingManagement unbinds CapabilityInstance(s) bound to that resource
and recalculates dependencies.

TODO: unbind in cascade.
Injectable core services in BindingManagement.
Move OSGi aware functionallity in BindingManagement to Activator.

BindingManagement is NOT aware of the existance of bundles.
Instead, it holds a set with capability classes known to it, and another one with aplications.
It uses these sets for the binding mechanism.

These sets are updated whenever a capabilitiesAdded/Removed or applicationsAdded/Removed callbacks are received.

In an OSGi environment, available classes may change when bundles enter or leave the system.
Thus, the Activator (an OSGi aware class) is now:
- tracking bundles
- detecting changes in the availability of capabilities and applications
- and notifying BindingManagement for these changes

This separation allows the creation of unitary tests for BindingManagement.
Resource and capability instances tree
Utility methods yo manage the resource tree
Interfaces defining methods to deal with the resource tree and its modifications.