Modern Perfect Hashing