Validate object graphs for cycles in composites on first commit

Also fix a bug that was breaking validation of COObject instances in relationships when there's no user-supplied subclass.
Yeah, I didn't realize that this custom entity description was the same as Folder.

However, we were lacking a test of an entity description with no COObject subclass, so I don't want to remove this since it turned up the validation bug I fixed in this commit.

I moved the entity description to FolderWithNoClass.h/m to better reflect that it's the same as Folder.