Implement avl_union

This PR adds the `avl_union` function and it's implementation.
Wouldn't it be better to remove the indentation level here? I think it is visually much nicer, as you can find the label more easily...