binary_tree updates

- insert and delete methods could alter the root node so they must be in a
  container class and not the Node class itself in case the root node reference
  is changed