Differential Dynamic Programming With Nonlinear Constraints