Remove inheritence of model from restraint

The (undocumented) inheritence is there for implementation convenience, but causes more issues that it helps with. Provide (deprecated) compatibility functions instead.

Code that depends on the conversion in calls from python should have the C++ function take a IMP::RestraintsAdaptor instead of a RestraintSet.

close #338