Chemistry Lab Automation via Constrained Task and Motion Planning