Merge pull request #3100 from RosettaCommons/roccomoretti/sym_scorefunction
Make all ScoreFunctions symmetric-aware score functions.
Change the implementation of the ScoreFunction class such that the distinction between a SymmetricScoreFunction and a plain ScoreFunction disappears. This means there's no longer a need to match the symmetric status of a scorefunction to that of a pose. As such, this PR also removes a number of places where such symmetric checking is handled.
For compatibility with existing PyRosetta scripts, etc. the SymmetricScoreFunction class still exists, it's just a practically-no-difference wrapper around the regular ScoreFunction. Additionally, the `symmetry="1"` in XML will still be permitted for compatibility sake, albeit with a message that it's no longer needed.
(There may be later changes to the internals of ScoreFunction, but that shouldn't change general usage.)
POTENTIAL BREAKAGE NOTE: `is_symmetric(ScoreFunction)` and `make_score_function_consistent_with_symmetric_state_of_pose()` from src/core/pose/symmetry/util.hh no longer exist because they're not needed/their old behavior no longer makes sense logically under the new scheme. You can safely remove them from code/PyRosetta scripts -- all ScoreFunctions are consistent with the symmetric state of any pose, and can act like they're symmetric or asymmetric, as need.