Simplify hash table (remove key_length function pointer)
Remove hash_del_predicate(), as it's not being used anymore

If that is ever needed again, it would be better to have an iterator with
a predicate -- useful for both iterating outside the hash table and inside,
with a deleting helper.
Use larger buckets in hash tables; do not use POPCNT anymore

Using POPCNT will essentially throw away one of the buckets in the hash
table.  Also, using (& (power_of_two-1)) is a tiny wee little bit more
efficient.