Private Optimization Without Constraint Violations