This is a major patch by Michael Nauta. It means all writes happen immediately to bsddb, and the bsddb
rollback is used on a crash. Transaction is no longer used to store changes and do them on commit.
Undo database is set on end.
At the same time with statement is used throughout for transactions
At the same time, the original bug in merge code should be fixed
Still some issues, that will be ironed out
svn: r16523
1. Replace single transaction list with separate undo/redo deques
2. Update UndoHistory GUI to work with new queue setup
3. Add test to txn.py for empty transaction list
svn: r15427
bsddbtxn.py -- Wrapper for BSDDB DBTxn to support context manager protocol
txn.py -- GrampsDbTxn class to manage atomic transactions
write.py -- GrampsDbWrite class for read/write databases
read.py -- GrampsDbRead class for read-only databases
undoredo.py -- GrampsDbUndo class to manage the undo database
upgrade.py -- Helper module for upgrading a database at open time
svn: r13078