Advanced arrays and documentation

Hi!

This pull request adds and changes the following:
- every supported type can be an array
- arrays are expandable in gui
- introduce AbstractPropertyCollection
- add docs
- introduce ensureGroup() method
- refactor PropertyGroup
- property constructor expect a pointer rather than a reference (see 720e83e323bf14ffdc036667c71f04189a47671e)