Inject Resource to ClientProvider

* Inject `Resource` to `ClientProvider`, it implies:
 * Changing interface `IClientProvider`.
 * Adapting classes: `ClientProviderAdapter`, `ClientProviderFactory`.
 * Adapting test application `ClientApplication` and `MyTestApplication`.
 * Creating core capability `ICoreModelCapability` (and implementing it) to retrieve information of `ResourceCapabilityTree`.
 * Add a new function to `ResourceCapabilityTreeController` and create a test `ResourceCapabilityTreeTests`.

* Add `Collection` of `Endpoint`'s to `IRootResource` interface and do proper adaptations.
* Add ` @AddsResource` annotation in method of `IRootResourceManagement`to trigger observation.
* Rename `Resource` class to better name `RootResource` and update references.