Fix 3D rotations
Fix 3D rotations

The 3D rotations are mostly done in 4 steps

1. Calculate the "bond" vectors
2. Calculate the difference in their azimuth and altitude
3. Generate a rotation matrix based on those values
	(do an xy axis rotation to remove the Z then a Z rotation)
4. Apply rotation matrix to all atoms in the fragment

Before, steps 2 and 3 were mixed together and the wrong base rotation
matrix was used (assumed all rotations were on the x,y,z axes). This
is fixed by instead having an xy rotation and a z rotation.

crcollins/chemtools-webapp,crcollins/chemtools-webapp,crcollins/chemtools-webapp,crcollins/chemtools-webapp,crcollins/chemtools-webapp