This allows the average structure calculation to work on atomic coordinates from different data
pipes, different structural models, and different molecules. The user function backend uses the new
pipe_control.structure.main.assemble_structural_coordinates() function to assemble the common atom
coordinates, molecule names, residue names, residue numbers, atom names and elements. All this
information is then used to construct a new molecule container for storing the average structure in
the internal structural object.
To allow for the averaged structural data to be stored, the internal structural object method
add_coordinates() has been created. This is modelled on the PDB, Gaussian, and XYZ format loading
methods. The internal structural object mean() method is no longer used, but remains for anyone who
might have interest in the future (though as it is untested, bit-rot will be a problem).