remove unsigned semantics from everything because i'm not smart enough to use them without bugs (also it's bad practice)
change size functions to use size_t
fix printf of size_t results
fix bug in bt_remove where we continue down a tree that has been freed
implement rebalance algorithm
remove test prints and add rebalancing to main output