A simple and native implementation of binary tree

To track the topology of nova-compute node which has the specific
volume, we must implement some graph(or tree) data structure to make it
posible. At the current version, we choose binary tree structure.

* new node can be added to tree or node can be removed arbitrarily, but
  each node must have at most two children and exactly one parent(except
  the root).
* the node remove function need to be optimized to keep the tree more
  balanced after the removal.