tree refactoring

this version currently does not work as expected due to some interesting behavior in codec where you are punished for correctly using generics. Maps in the form of ```Map<String, MyData<?>>``` throw all kinds of NPEs. This is a bug in codec that will have to be fixed.

that aside, this pr tends to focus on removing/ exposing redundant layers of abstraction (6+ layers of iterators etc.). Notably TreeNodeList, ReadPageDB (as an object), and DataTreeNodeActor have been removed entirely, and a few more have been cut from the read-only query system to help get at the crazy number of iterators (Range, CloseableIterator, etc).