Introduce of the hash table APIs

There is an existing build bug related with a previous commit:

d4ebadb82384193e39ccaf17c7fa7570f5fd3781

Once that has been fixed, this PR can be merged.