Use more natural evaluation of StructureDifference.

StructureAdapter::diff returned blank StructureDifference before,
but now it sets stru0, stru1 as expected and takes care of identical
structures.  By default, the structures are completely different,
ie, pop0, add1 contain all indices and it is up to the
StructureAdapter::diff function to do more accurate diff.

This also fixes failed assertion, when NoSymmetryStructureAdapter::diff
returned blank StructureDifference.  Diff methods now return
StructureDifference with correctly set stru0, stru1.