Implement avl_union

This PR adds the `avl_union` function and it's implementation.
The documentation is also wrong here. `dest` is the source` what?