feat(algebra/module/submodule/basic): add `submodule_class` and `smul_mem_class` (#16134)
This adds two new subobject classes, namely `smul_mem_class` and `submodule_class`, the latter of which is simply the combination of `smul_mem_class` and `add_submonoid_class`