Use btree_node::next_node when needed to get the btree*::erase() return iterator. Fixes erase bug detected by more liberal use of inspect_leaf_to_root() in btree_unit_test. Cleanup btree_unit_test output spacing.
Since btree_base::erase(), the only user, no longer uses the iterator returned by, change m_erase_branch_value() to a void return. The resulting code simplification eliminated the only use of m_sub_tree_begin(), remove it. Net result is a nice simplification.