Modifications to StructureMatcher Comparators

All hashes are now done with Compositions, rather than Structures, which
is faster for anonymous matching, and more consistent (some Comparators
were incompatible with allow_supercell). Hashes are now done with
fractional, rather than reduced compositions (which didn't work with
fractional occupancies)