[ML] newProperty(): Create property data structures.

This is for non-group properties.
[ML] Class Properties: add default constructor.
[ML] PropertyVector: rename for better readability.
[ML] Overload for Properties::newProperty() to add group properties.
[ML] Property::getProperty(): returns const& instead of pointer.
[ML] Removed unused method addProperty from Properties.
[T] Fixed tests.
[ML] Properties: add method hasProperty().
[ML] Docu for newProperty() methods.
[ML] Properties: Update/add of docu.
[ML] PropertyVector: add docu.
[T] Testing Properties::hasProperty().