CausalBench: A Large-scale Benchmark for Network Inference from Single-cell Perturbation Data