Add AVL implementation

Hi,

we need a AVL implementation, so I started defining an interface for one. Please review!

@neithernut , @theneikos , @manuelmessner
This chunk is malicious, or malformed, I think.
You should check for *root==NULL first (returning if NULL) and determine cmpres _afterwards_
Has the advantage of not needing the else