Minor Changes to Comments and Contract

Edited some comments, renamed `MetaProperty.declaringClass()` and generified `MetaProperty.set(Object, Object)`.

I also have some questions, which I put into the code and additionally added as comments on this pull request. Of course I plan to remove them if this pull request is considered to be merged.
Is this renaming ok? The reasoning is that all other method names use "Type" instead of "Class" so this is more consistent.