Add support for conditional saving model.
Thank you but I will pass on this, since it can be accomplished with an `UpdateQuery`.

Concurrent nodes of an application attempting to update the same record might result in data corruption/loss. To help with this scenario, this PR adds an optional `conditions` parameter on `Model.Save`. When the conditions are not met, updated record count will be `0` letting the application know the failure.
