Here is a patch which turns on refcounting for most of the objects
(Optimizers and Model being the two exceptions, although, now that I
think about, model should have it (but I would have to change
ObjectPointer in order to do so, since lots of things have pointers
back to model which can't keep the model alive).
It shouldn't change anything for python users other than you can add
restraints to multiple restraint sets. We should add a check for
dependency cycles in restraint sets, but that takes some work.
It also adds a trivial restraint ConstantRestraint. Mostly there for
testing (since otherwise the ref count check gets buried under the
work of creating all the bits needed for a restraint).