Added a copy constructor for ProblemChanges class

Default copy constructor doesn't work because some members of ProblemChanges contain pointer to elements of other members. A working copy constructor is essential to pass ProblemChanges instances as function arguments when a copy of ProblemChanges is needed.