BaseModel.edit `strict` parameter

At the moment edit raise an exception when being passed an unknown value.

We should add a strict parameter to the method that, if False, just ignores unknown values.

Maybe that can be the default?