Create a DistanceResult class

This time (hopefully) for real; it tracks information about target and
origin.
Move PDB ID information out of AtomInformation

This avoids redundant data and allows DistanceDataTree to use
DistanceResults as information objects.
Have DistanceDataTree use DistanceResult

This is terser than any other possibility.