Storage module: export more Neo4j packages (#634).

These packages are exported:
    - `org.neo4j.graphdb.traversal`
    - `org.neo4j.kernel`

The `dm4-geospatial` module needs to import these packages.

See #634.
Storage module: expose Node objects (#634).

DeepaMehtaObject API:
{{{
Object getDatabaseVendorObject();
}}}
Returned is the Neo4j `Node` object that underlies the DeepaMehtaObject.

Required by the `dm4-geospatial` module.

IMPORTANT: stop the DM server before rebuilding the dm4-storage-neo4j module.

See #634.
Core fix: unregistering plugin listeners (#686).

See #686.
Extend Geomaps service (#633).

Geomaps API:
{{{
import de.deepamehta.plugins.geomaps.model.GeoCoordinate;

GeoCoordinate geoCoordinate(Topic geoCoordTopic)
}}}
Returns the geo coordinate encoded in a Geo Coordinate topic.

See #633.
Neo4j Storage: ignore non-DM content (#687).

Non-DM data of 3rd-party components can coexist with DM data in the same Neo4j instance.

While traversal non-DM nodes are ignored.
DM nodes are recognized by the existence of a `node_type` property.

See #687.
Core: refactor plugin activation (#686).

See #686.
Core: refactor service tracking (#686).

Remove distinction between core service trackers and plugin service trackers.

See #686.
Geomaps: fix topic enrichment (#684).

Topics going over the wire do not include all their child topics if not requested.

This former bug -- which was caused by the dm4-geomaps module and existed since DM 4.1 -- resulted in crucial network overhead, that is more data than retuested was sent on a regular basis.

IMPORTANT: make sure your plugin does not rely on that buggy behavior, and possibly adapt it.

See #684.
Core: add test to illustrate the issue (#683).

See #683.
Core: fix on-demand child topic loading (#683).

The CompositeValue **convenience accessors** load the respective child
topics on-demand, just as the canonic CompositeValue accessors do.

See #683.
Core: strip CompositeValue API (#683).

BREAKING CHANGE

The `CompositeValue` accessor methods which take a `defaultValue` parameter are dropped.
In conjunction with on-demand child topic loading (introduced in DM 4.1) the notion of a default value become pointless.
To check weather a certain child topic(s) is already loaded, use CompositeValue's `has(childTypeUri)`.

Dropped methods in CompositeValue:

Accessors:
- `Topic getTopic(String childTypeUri, Topic defaultTopic)`
- `List<Topic> getTopics(String childTypeUri, List<Topic> defaultValue)`

Convenience accessors:
- `String getString(String childTypeUri, String defaultValue)`
- `int getInt(String childTypeUri, int defaultValue)`
- `long getLong(String childTypeUri, long defaultValue)`
- `double getDouble(String childTypeUri, double defaultValue)`
- `boolean getBoolean(String childTypeUri, boolean defaultValue)`
- `Object getObject(String childTypeUri, Object defaultValue)`
- `CompositeValue getCompositeValue(String childTypeUri, CompositeValue defaultValue)`

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