Modern Minimal Perfect Hashing: A Survey