Persistent BST: Node Caching + MemoryStream

Tree is created in MemoryStream (used to be FileStream) and Node
children (left, right) are cached.