Core: attached composite manipulators (#339).

CompositeValue (interface) has 5 new manipulator methods:
    - set(String childTypeUri, TopicModel value, ..)            # Sets a child topic
    - set(String childTypeUri, Object value, ..)                # Convenience to set child topic with simple value
    - set(String childTypeUri, CompositeValueModel value, ..)   # Convenience to set child topic with composite value
    - setRef(String childTypeUri, long refTopicId, ..)          # Sets topic reference via ID
    - setRef(String childTypeUri, String refTopicUri, ..)       # Sets topic reference via URI

The attached composite manipulator methods are complete now.

Every manipulation done before via composite model is now available as a DB-attached operation. So, in most cases the developer must not care about model updates vs. DB-updates. With the new attched CompositeValue object the underlying model and the DB is always in-sync automatically.

Note: unlike the CompositeValueModel methods the attached CompositeValue object needs no differentiation between put() and add() for single-value and multiple-value childs respectively. It's just set(). set() can be used for both, single-value and multiple-value childs.

The set() method introduced yesterday is slightly changed. It takes an Object now. So, the caller is not required to construct a SimpleValue object but can pass the value directly.

Remember, there is still DeepaMehtaObject's setCompositeValue() method. This one performs an attached update operation on the object's composite value itself (instead of on one of its childs like the methods above).

See ticket 339.