Update constraint

Now we can delete and update the constraint in `NonlinearProgram`. Each `Constraint` object has a unique ID in the program. The user can delete or update the constraint using that ID.
They are documented in the `properties` session