Number of changes to fix broken transactions:
1) rewrite TX and Snapshots
2) introduce Engine.prealloc() to deal with not-yet inserted records
3) SerializerPOJO lifecycle is now managed by Store