Added further tests and also changed a bit how dictionaries are created. They now require two function pointers that tell how to hash and compare keys.