Add avl internal advl del prequisites

This PR adds helper functions for `avl_del()`. This will allow a rewrite of PR #71 to accomodate for tree regeneration.
Why? If there is no left node, we simply return the right one? How does this work?

Please provide more documentation about this!