First run at data-store!

There's still some work to be done, I think (e.g. compaction). I think some other "obvious" "to do" items fall outside the scope of 500lines, as stated in the ``README.rst``.

But I think it's ready for a first review. :)

Thanks!

(Update: extracted ``refs.py`` to help separate the abstract "it's a tree" from the concrete "it's a binary tree".)