Model callbacks should happen in a logged batch

We should also support unlogged batches via an `:unlogged` option passed to `::batch`. Passing the `:auto_flush` option should automatically set the `:unlogged` option as well.