HumanEval-XL: A Multilingual Code Generation Benchmark for Cross-lingual Natural Language Generalization