Implements an interval tree using an augmented self-balancing AVL tree with an interval as the data field and a max value tracking the interval high value in the subtree rooted at that node
Implements a balanced, merkle binary hash tree. Merkle trees are a beautiful data structure for summarizing and verifying data integrity.