bintree: iteration/traversal infrastructure and (possibly wrong) preorder impl