For reacting A + A, make a copy of A once for all families.
For reacting A + A, make a copy of A once for all families.

This is necessary to allow the two copies to be manipulated independently.
Before we were doing this in each call to __generateProductStructures(),
which meant it was occurring twice per family. Deep copies of molecules are
expensive, and this eliminates some of them.

KEHANG/RMG-Py,nyee/RMG-Py,nickvandewiele/RMG-Py,faribas/RMG-Py,enochd/RMG-Py,nyee/RMG-Py,chatelak/RMG-Py,KEHANG/RMG-Py,pierrelb/RMG-Py,comocheng/RMG-Py,faribas/RMG-Py,nickvandewiele/RMG-Py,enochd/RMG-Py,chatelak/RMG-Py,pierrelb/RMG-Py,comocheng/RMG-Py