When loading Trees from database, sort nodes into descending size.

This is what the comment says it was trying to do, although it may 
in fact not be the best thing to do.
When loading Trees from database, do not sort them.

We now assume that the trees are in the best possible order, 
and this is maintained manually. Sometimes you want most specific
case first, in the case of overlapping nodes, but sometimes you 
want the smallest ring first (eg. if you have cyclic transition states)
which would mean the smallest functional group definition.
Enforcing a sorting algorithm seems risky to generalize, so we now
assume the tree was in the best order, and respect that.
Remove extra spaces from thermo database saveEntry()
In transport saveEntry() remove spaces and write explicit H atoms.
Fixes to database loading and saving in order to translate it.

(Code reviewed by connie :)
Documentation for solvation is now included.

In the user guide portion of the website. Still working on
the references.
Several updates in input file documentation. Still need some edits…
Exclude temporarily tetra-valent nitrogen from QM in Gaussian

Previously done for MOPAC in b67b2c232f6939f0f64e41ebc3911c30469c1836

Done because RDKit cannot recognize tetra-valent nitrogen
Consistent logging and source comments

For mopac and gaussian. Depending on the QM package used,
we were logging different lines and storing different source
formats. Not a good thing long term. This should help.

The sourcing will become important as we also load thermo files
created from previous calculations. If the job requests PM6 and the
previous file is a PM3 calculation, we currently use the old file.
Later commits will address this problem.
Append to QM `.thermo` instead of writing

Hopefully the first step to improving the QM. We should
only be writing to the `.thermo` file if it is a new calculation
or if the calculation is for the same molecule at a different
structure method.
Remove redundant check for a QM output file.

If we have the file, we'd have read the `.thermo`. It's also
not easy to check the method used in the QM output file.
`loadThermoData` checks for the method used for previous calculation

Returns none if the method does not match what it requested