Use the same algorithm as is used to choose the runtime metaclass:
if a property names a class explicitly then use that; otherwise, choose
the most specific metaclass of any of the direct superclasses. If there
are no proper superclasses then default to `sod-class' because that's
what `builtin' needs.