Use __setattr__ on the assumptions metaclass

This way, the Basic __setattr__ is called first, and that is only used as a
(backwards compatible) fallback.