Improve BTree::add_root_node().
Rename some variables.
Change InsertResult into Split.
Tidy up a little.
Tidy up and comment the Split struct.
Add BTree::split_branch_and_insert().
Improve some method names and add comments.
Start using boost::none.
Rename BTree::print_sub to print_subtree.