ReflectionProperty::setValue throws an ReflectionException if unaccessible

Also changed `gettype() != 'object'` to `!is_object()`

Fixes #3128