AbstractProperty handles hashCode(), equals() and toString()

Add: The AbstractProperty class implements the hashCode(), equals() and toString() methods in order to remove them from the individual property classes.
AbstractProperty tests

Add: Tests for the AbstractProperty implementation of the property system.
Fix AbstractProperty issues with ChildFeatureHolders

Fix: The abstract property class handles ChildFeatureHolders correctly.
Fix FunctionDefinitionFactory issue when creating a simple definition

Fix: The FunctionDefinitionFactory creates definitions with the given parameters (they weren't used before).
Minor property system javadoc fixes

Fix: Overhaul the javadoc related to the property system a bit.
Collection properties (with add() and remove() methods)

Add: Collection properties are normal properties with add() and remove() methods instead of the set() method.
Patch types in accessor factories

Fix: The different accessor factories in .util use the new custom definition types instead of plain FeatureDefinitions.
Update changelog