red black tree
- this has ridiculous amounts of copy/paste with the binary search tree
  but I can't figure out how to reduce it yet using Go