APIs: remove "fetchComposite" paramter (#699).

BREAKING CHANGE

The "fetchComposite" paramter is removed from Core and other APIs.

Not yet functional.

See #699.
Load child topics in response filter (#699).

BREAKING CHANGE

Core REST API: if the `fetch_composite` query parameter is not present in the request `false` is assumed. That is, by deafult the response entity contains no child topics. If child topics are wanted `fetch_composite=true` must be stated explicitely.
(In DM 4.3 and before `fetch_composite=true` was the default for **single item** responses and `fetch_composite=false` was the default for **item collections** responses. These differentiation is no abolished in favor of better remembrance.)

All REST APIs: if the request has a `fetch_composite=true` query parameter the child topics of the response entity are loaded automatically. For standard cases the plugin developer must not care about child topic loading. Child topic loading is performed generically by the Core's `JerseyResponseFilter`.

Automatic child topic loading works for responses of these types:
    - `Topic`
    - `Association`
    - `Iterable<Topic>`

If the response is not of one of these types the plugin developer must care about manual child topic loading. She does so by using `DeepaMehtaObject`'s `loadChildTopics()` methods.

See #699.
Core API: loadChildTopics() returns object (#699).

The `loadChildTopics()` methods return the object itself, thus allowing call chaining (formerly `void`).

{{{
DeepaMehtaObject
    DeepaMehtaObject loadChildTopics();
    DeepaMehtaObject loadChildTopics(String childTypeUri);

Topic
    Topic loadChildTopics();
    Topic loadChildTopics(String childTypeUri);

Association
    Association loadChildTopics();
    Association loadChildTopics(String childTypeUri);
}}}

See #699.
Webclient: adapt to Core changes (#699).

Fix: detail panel shows object along with its child topics.

See #699.
Type loading: adapt to Core changes pt.2 (#699).

Core fix: view configs are loaded properly.

Core API:

ResultList has a new method
{{{
ResultList<T> loadChildTopics()
}}}
It loads the child topics of all the objects contained in the result list.

See #699.
Label building: adapt to Core changes pt.3 (#699).

Topicmaps fix: topicmaps keep their name once translated.

See #699.
Webclient: adapt to Core changes pt.4 (#699).

Fix: when navigating via "what's related" the revealed topic is displayed along with its childs.

See #699.
Geomaps: adapt to Core changes pt.4 (#699).

Geomaps are functional again.

BREAKING CHANGE

Geomaps API:

The topic returned by the `getDomainTopic()` service call does *not* include its child topics.
When you need the child topics:
    - Java API:
        - on-demand loading (selectively): just call the accessors of the topic's composite value, e.g. `topic.getCompositeValue().getString(...)`. The respective child topics are loaded on-demand.
        - explicit loading:
            - `topic.loadChildTopics()` loads all child topics
            - `topic.loadChildTopics(childTypeUri)` loads child topics selectively
    - REST API: add `fetch_composite=true` to the query parameters. All child topics are included in the response.

See #699.
Facets module: adapt to Core changes pt.6 (#699).

Core's `DeepaMehtaUtils`:

`toTopicModels()` takes an `Iterable` instead of a `List`. This allows e.g. to pass a `ResultList` directly (instead of calling `getItems()` on it before).

BREAKING CHANGES

Facets API:

1. The topics returned by the `getFacet()` and `getFacets()` service calls do *not* include their child topics.
When you need the child topics:
    - Java API:
        - on-demand loading (selectively): just call the accessors of the topic's composite value, e.g. `topic.getCompositeValue().getString(...)`. The respective child topics are loaded on-demand.
        - explicit loading:
            - `topic.loadChildTopics()` loads all child topics
            - `topic.loadChildTopics(childTypeUri)` loads child topics selectively
    - REST API: add `fetch_composite=true` to the query parameters. All child topics will be included in the response then.

2. The topic returned by the `getFacettedTopic()` service call does *not* include its child topics.
When you need the child topics: see 1.

3. The `getFacets()` service calls return a `ResultList` (formerly `List`). This allows to call `loadChildTopics()` on it (see 1.) to load all child topics of all items contained in the result list.

See #699.
Access Control: adapt to Core changes pt.7 (#699).

See #699.
Core: reintroduce service hooks (#695).

The `serviceArrived()` and `serviceGone()` hooks are back.

Note: these hooks are *not* required to actually consume a service as this is done by injection now. Most (service consuming) plugins are not required to implement these hooks.

However, these hooks are still useful when a plugin needs to do some work just in the moment when a service becomes available resp. is about to go away.

The hook signatures are the same as they were in DM 4.3

See #695.
Box Renderer: fix unregistering (#695).

When the Box Renderer bundle stops no NullPointerException is thrown.
The viewmodel customizer is unregistered properly.

See #695.
Merge branch 'master' into no-fetchcomp
Topicmaps: adapt to Core changes pt.8 (#699).

Retrieving a topicmap including the topic's child child topics works again.
Needed for the Import Export plugin.

The "remove fetchComposite parameter" related work should be complete now. Ready for merging into master.

2 things remain to investigate (see "FIXME: had fetchComposite=true"):
    - Files API.
    - Create/Update requests containing topic references (see #614).
      In conjunction with Malte's Wikidata plugin.

See #699.
Merge branch 'master' into workspace-acl