Fixed a few issues with close before rollback.

The locking on physical connections continues to be as fine-grained (and guaranteed to block) as possible, which is going to increase contention / serialization in a production system.

Long-term, the locking strategy probably needs to be revisited. For now, it seems to be working.