BaseModel abstract CRUD

added abstract CRUD methods to BaseModel (returns NotImplementedError)