Move hashtable struct into macro DECLARE_HASHTABLE.

Later on we can change the size of the value member according to a new
macro parameter.
Change value element of hanstable entries.

This allows to store more than one pointer into that structure later on.
Add macro parameter to specify the number of value entries in hashtable.