If a batch is a single statement, just send it as a statement

Opening/closing a batch imposes an unnecessary cost
Don't start a new batch if you're already in a batch

This causes entirely weird/incorrect behavior. Just stay in the same batch.
Wrap record callbacks in logged batch
Merge pull request #42 from outoftime/batch-for-update

Model callbacks should happen in a logged batch