Implement avl del

This PR implementes the `avl_del()` function.

Some linkedlist helpers were introduced.

**Note:** Some possibly needed rotations are still missing.
An predicate can be false because there are _several_ elements per _node_. And we only delete _one element_ not _one node_!