Core: refactor value storage (#339).

Storing an object model's simple or composite value is segregated from the (attached) application object. An application object no longer stores its value itself. Instead the value is stored *before* the application object is created. The storage responsibility is located in a new class: ValueStorage (analogous to TypeStorage).

In preparation to "Attach CompositeValue to the database".

DeepaMehtaObjectModel:
    - createRoleModel() is new method

See ticket 339.