CodeCriticBench: A Holistic Code Critique Benchmark for Large Language Models