extract SModelBase, EditableSModule; SModel.isReadOnly/save are moved to EditableSModel; added Project.getRepository()