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.
Having the root AVL node at the bucket structure, instead of simply a pointer inflicts some limitations/special cases in the AVL implementation.