ZeroED: Hybrid Zero-shot Error Detection through Large Language Model Reasoning