Add Hashtable type

This PR introduces the very first idea of the hashtable type. This
type is for internal use only.

Assumes #12 to be merged.
You mean smth like:

```c
struct avl
{
    struct avl_el* rootnode;
};
```

? If yes, should this go into the AVL implementation or into the HT implementation? I guess it should go into the AVL implementation, right?