Change the lower limit collision prevention in bounds matrix manipulation.

THis is to prevent the lower limit of ij from being higher than allowed
by ik-kj distances.
Re-enable the Embedding and UFF optimization steps.

Also restructured an if/else block to reduce the depth.
Split generateTSGeometry into generateTSGeometryDoubleEnded and generateTSGeometryDirectGuess

This commit shouldn't change how anything functions, just where it is defined.
The two functions seem to return different things. I tried to summarize in the docstrings.
Refactoring: made a utility function matrixToString(matrix) for logging purposes.

Also renamed "setRBM" to "reactantSmoothingSuccessful" and equivalent for setPBM
(these are boolean flags returned by RDKit)
tsScript reports which reaction it's on
Trying to make reactant and product be more equivalent in double ended method.

The reactant geometry was being stored as self.geometry and the product was pGeom.
Now the reactant is rGeom and the product is pGeom.
Hopefully this clarifies things without breaking anything.

I also tried changing their uniqueIDs. However, some mol files have already been written
by this point. I don't *thing* this commit should break anything, but there may be fragile
things I'm not thinking of.
Re-enable (and slightly refactor) the QM calculations in double ended method.

Rearranged the ordering of the if blocks a bit, to make them less deeply nested.
Hopefully didn't change what it actually does (apart from the fact that it was
commented out)
Trying to fix the changes caused by making rGeom more like pGeom.

The changes two commits ago in 
e05b644e2c44b356df16a63f62ed034395b4ff7f
seemed like a good idea, but the subsequent commit re-enabled a bunch of code
that reveals there are many consequences.
I still think it may be a good idea, but am getting deeper into a hole.
Committing now, so I can get back out of the hole, even though this is not yet complete...
Re-enable (and slightly refactor) the QM calculations in double ended method.

Rearranged the ordering of the if blocks a bit, to make them less deeply nested.
Hopefully didn't change what it actually does (apart from the fact that it was
commented out)

This is like the commit of the same name on the other branch, but without
the "rGeom" problems...
Merge branch 'embed' and 'embed-fix', removing the mess on 'embed'

I'm leaving those commits in history because
1) my history is already public and I think Pierre may have pulled it
2) it wasn't a bad idea, and maybe we should do it one day.

However, I was getting in a big hole, so I have replaced it with
this fix, which I think is functioning.