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.
please fix the formatting here.