Don't reset model updater & deleter if save results in an error

Since `save` executes in a batch, we don't get immediate feedback on whether the CQL statement was successful. In the case that the query throws an error, the model should still consider itself to have unsaved changes. So, instead of immediately clearing the updater and deleter, add a completion hook to the batch and only clear them if it updates successfully.