Added an implementation of AVL trees in scala, also included a state monad