Add initial transaction support
We need to be able to read as well as write to batches, before committing to them only at real synchronization points to minimize disk usage.
Currently having some issues with merge support, but a minimal read/write/delete version is working.
Edited by Evan Vigil-McClanahan