Fixes to the double-ended approach
Multiple fixes to the bounds matrix editing

Editing methods used for the group additive distance
estimation method were not compatible with the double-ended
approach. These fixes should be compatible with both approaches.
Better checking of GAUSS_EXEDIR
Added lines to check errors in the double-ended approach
Adding automated QST2
Better options for PM6 to DFT calculations
Attempts to fix the double-ended approach
Don't embed the product in the double-ended, just optimize at UFF
Added more diagnostic printing, and only freeze 0 distance
Save log files, and run more cycles in optimization.

Log files are saved at several intermediate steps.
Print additional info in gaussian logs
Freeze certain atoms before optimizing for double-ended
Bounds matrix fixing and molecule checks
Smooth matrix before editing - not working (yet)
Check for errors in the entire the bounds matrix

Smoothing the bounds matrix prior to editing it for the
double ended geometries provides a good starting matrix.
However this needs to be further edited as we may have
introduced some inconsistencies.
Removed bounds matrix smoothing before editing.
Checks the bounds matrix for strange limits (hopefully).
Script to run transition state searches
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.