array properties can know contain everything which is supported by Property<>
introduce AbstractPropertyGroup
Merge remote-tracking branch 'origin/master' into advanced_arrays

Conflicts:
	source/reflectionzeug/CMakeLists.txt
minor changes in property model; still not working; wip
fix pointer to void * bug; be careful when casting pointer of multiple inherited classes!
rename AbstractPropertyGroup to AbstractPropertyCollection
replace property array getter with foreach
remove warn flag on visit methods
remove unnecessary destructors
rename obtainproperty to takeproperty
remove destructors; add ensureGroup to PropertyGroup and improve property look up
update PropertyGroup documentation
add documentation for AbstractProperty; remove AbstractArrayValue (unused)
add more documentation
add BoolProperty
Merge remote-tracking branch 'origin/master' into advanced_arrays

Conflicts:
	source/reflectionzeug/CMakeLists.txt
	source/reflectionzeug/include/reflectionzeug/ArrayPropertyInterface.h
	source/reflectionzeug/include/reflectionzeug/EnumPropertyInterface.h
	source/reflectionzeug/include/reflectionzeug/FloatingPointPropertyInterface.h
	source/reflectionzeug/include/reflectionzeug/PropertyGroup.h
	source/reflectionzeug/include/reflectionzeug/SignedIntegralPropertyInterface.h
	source/reflectionzeug/include/reflectionzeug/UnsignedIntegralPropertyInterface.h
	source/reflectionzeug/include/reflectionzeug/ValueProperty.h
fix MSVC warning and error
prettify SFINAE usage syntax (MSVC safe)
improve Property template documentation
add property_hierarchy group and more documentation