Core: refactor label storage (#339).

The simple value of a composite object (as used as the label) is calculated and stored outside the (attached) application object. Furthermore, optimization: calculating the label involves no DB access anymore.

Together with the recent commit (and the TypeStorage as recently introduced) the following invariant is valid for the first time:

=> An attached application object is in-sync with the DB *at any time*, in particular when creating or retrieving a DB object.

This provides for more flexibility and more clean code.
And this provides the basis for "Attach CompositeValue to the database" (#339).

Furthermore the bug described in 18fda563 (4 Feb) is fixed.
Both expressions now have exactly the same semantics:
    - dmObject.getModel().getChildTopicsModel()
    - dmObject.getChildTopics().getModel()

See ticket 339.