Turn a struct List into a struct HashTable.
Turn a struct List into a struct HashTable.Every node from the list is converted into a hash node, then the list is freed. This function assumes that the nodes in the list all have data pointers pointing to a string. This pointer is copied and cleared to save a few allocations.
If no size is specified, twice the number of list elements will be assumed. Default load is two elements.
hash_new() is used to allocate the list. If you have need of larger nodes, you should iterate through your lists and do this yourself.
This function is useful after collecting the contents of a dictionary.