update gitflow
Don't invalid dependency graph when new ScoringFunctions/Restraints are created

To do this the fillowing changes were made:
- ScoringFunction dependency determination is now done by making sure that do_get_inputs() returns all the necessary inputs (eg restraints). This removes several functions that were previously used to provide this.
- Each ModelObjects has a dependencies valid and a required score states field. These don't have to be updated in sync.
- the IMP::core::IncrementalScoringFunction now just keeps a list of RestraintsScoringFunctions around and uses those since they can update their dependencies when needed.

close #302