Redesign of the generic_fns.mol_res_spin.generate_spin_id() function.
The function now tries to generate a unique ID based on the spin information in the specified data
pipe. This is to attempt to fix a bug uncovered by the Structure.test_read_xyz_internal2 system
test. Defaulting in all cases to the spin name rather than spin number will often fail for a small
organic molecule, as the name in XYZ files is the atomic symbol and hence will almost never be
unique.