Merge pull request #5564 from RosettaCommons/BYachnin/onechain_interface_segfault
Fix segfault for single chain "interface" scores
The Interface, InterfaceInfo, and InterchainPotential made the somewhat reasonable assumption that if they working on a pose, it has more than one chain to calculate an interface for. Unfortunately, this assumption led to a segfault if, for example, we calculate interchain centroid scoreterms on a single-chain pose.
This PR fixes that segfault: the interchain scoreterms should return 0 if there is no interface. Along the way, I noticed that InterfaceInfo had a bunch of weird things, where you could update member variables without having an effect. For example, one could update distance_, but the interfaces were not subsequently updated to reflect the new distance.