The hash table implementation had some static free lists that were
not protected by locks in the threaded RTS. This moves the free lists to the individual hash tables and removes the static variables. Spotted by Marcin Orczyk <firstname.lastname@example.org>, thanks! This could definitely cause actual crashes.