Add AVL implementation

Hi,

we need a AVL implementation, so I started defining an interface for one. Please review!

@neithernut , @theneikos , @manuelmessner
We may want to return a pointer to the data here, for optional further usage.
If the element was not found, NULL may be returned.