First tiny bits of data-store.
Fleshing out the binary tree. Read/insert only for now.
Rewrites the binary tree in terms of the tree container and nodes. Definitely cleaner.
Rejigs the binary tree to be persistent.
Adds unused and untested Persister class.
Adds some background on how I went about writing the Persister. Will probably delete the comment later, but it might be useful when writing prose later.
Fixes Persister for use with StringIO (i.e. testing).
Start of some Persister tests.
More tests for the Persister.
Starts adding persistence to BinaryNodes.
Adds a level of indirection, so that left and right are refs. This way they can be loaded lazily, and the logic for loading and saving is moved out of the nodes themselves (which don't do much work anymore).
Renamed Persister to Storage.
Hooking it all up. And of course it doesn't quite work yet.
It's important to avoid blowing away the db when you try to open it.
Adds a test that uncommitted things don't make it to disk.
Adds some TODOs to the readme.
Extracts method for following a ref.
Fix NodeRef dependency on BinaryNode structure.
Moves from_string into BinaryNode for better separation of duties.
Adds thoughts on msgpack todo.