ICapability extends IApplication and CapabilityInstance extends ApplicationInstance
ICapability extends IApplication and CapabilityInstance extends ApplicationInstance
AbstractInstance manages dependencies on IApplication(s)

instead of on ICapability.

TODO: Update BindingManagement to manage depenedncies as expected.
BindingManagement resolves and unresolves dependencies in all applications (capabilities included).

Now applications may depend on other applications, despite the fact of being capabilities or not.
Delay call to onDependenciesResolved.
Merge branch 'feature/depending-on-apps' into feature/capabilities-are-apps
Refactor CapabilityInstance. Move service related methods to protected ones.
Move services from CapabilityInstance to ApplicationInstance.

ApplicationInstance(s) are holding services and responsible for providing the service proxy used in injection.

TODO: Missing a way to trigger service init in ApplicationInstance.
ApplicationInstances init/cancel services when resolved/unresolved.

BindingManagement triggers service initialization when the ApplicationInstance is resoldev.
It triggers service cancelation when ApplicationInstance gets unresolved.

CapabilityInstances follow the same behaviour.
Services in CapabilityInstances are no longer initialized when the instance is bound, but when it gets resolved.
Services in CapabilityInstances are no longer cancelled when the instance is unbound, but when it gets unresolved.
Avoid creating services and proxy for applications without interfaces extending IApplication.

Notice that methods declared in the application, but not explicitely defined in a separate interface extending IApplication, will not be exposed as services.
Therefore, applications directly implementing IApplication but no other interface will have no services.
Merge branch 'feature/services-in-apps' into feature/capabilities-are-apps
Merge branch 'master' into feature/capabilities-are-apps

Conflicts:
	core/src/main/java/org/mqnaas/core/impl/BindingManagement.java

Conflicts solved manually in BindingManagement.
Added onDependenciesResolved method in ICapabilities where it was missing.
Changed IResourceManagementListener interface to reflect that IResources are hold by IApplications, not ICapabilities.

TODO: BindingManager should treat the case where resources are added and removed in IApplications that are not ICapabilities.
Applications can manage resources too.
Small code cleanup in BindingManagement.

Affects following methods:
IResourceManagementListener#resourceAdded(IResource, IApplication)
IResourceManagementListener#resourceRemoved(IResource, IApplication)
Merge branch 'master' into feature/capabilities-are-apps

Conflicts:
	core/src/main/java/org/mqnaas/core/impl/CapabilityInstance.java
	core/src/test/java/org/mqnaas/core/impl/SampleCapability.java

Conflicts solved manually.
Merge pull request #30 from isartcanyameres/feature/capabilities-are-apps

Feature/capabilities are apps