'Split ``tree`` into a *before* and *after* tree at ``split_point``.
:param before: If True tree is split before split_point, otherwise after split_point
:return: before_tree, after_tree'

def do_split(self, tree, split_point, before):

    return do_split(split_point, self.log, before=before)
