Relax check_registration to allow subsubclasses

This is necessary to allow __new__ in a Model subclass to return
subclasses of the subclass.