Add avl utilities

This PR introces a few utilities for use in recursive algorithms like `avl_union()`.
Then it's also missing in `avl.h`