RoboCook: Long-Horizon Elasto-Plastic Object Manipulation with Diverse Tools