CellAgent: An LLM-driven Multi-Agent Framework for Automated Single-cell Data Analysis