remove setMainThreadObservesChanges

This way lies madness

(If you like “duplicate” objects that are really just shadows of the
same object in a different context then by all means use this code)
Added extra docs to observeChangesFromParent

Also use `[self entityName]` instead of `NSStringFromClass(self)`.