Adding Objectives stores copies of parent objects

Modified add and mul overloads in Objective to keep copies of the parent
Objectives that originated them. This is so modifying the originals
doesn't affect the sum/mul. Also had to make wrapper methods use the
stored parents instead of curried versions of the original methods.

Added doctest for adding 3 Misfits.