Most of the restraints and other useful functionality are moving out of
the kernel. Currently the idea is that they go into a module called dsr
(for lack of another name) which would be modifiable by everyone. Only
the angle restraints and a couple of other non-kernel objects would be
left in the kernel. I propose instead we call it "basic" and move all
existing restraints into it. That way we have less random split of code
between modules. After all, does anyone want to remember that
"DistanceRestraint" is in IMP but "DistancePairScore" or
"NonbondedListScoreState" is part of IMP.dsr?
In either case, the npc-specific code would stay elsewhere.