fix(core): handle AttributeError in profile validators
Wrap `self.profile` access in `_set_model_profile` and
`_check_profile_keys` with try/except AttributeError so subclasses
that override `__getattribute__` to raise on "profile" don't crash
during model construction.