Bug fix for internal mode projection for Cantherm

We were not following the Gaussian white paper formulae and this resulted
in some cases where our projection was completely wrong.

This bug fix has been provided by @agvandeputte
Correcting the ZPE after projection

After projecting the hindered rotors we need to recalculate the ZPE
according to the projected frequencies. Since  'ideally" only the modes with
a small wave number are projected out this should not be that different from
the ZPE coming before projections.
Add new ketoenol family to list of unimolecular kinetic families.
Encode in UTF-8 otherwise we run into errors for unicode symbols.

If that fails, then encode in ascii and omit the symbols completely.
We run into too many errors otherwise.
Crash RMG when identical molecular structures and labels are found thermo libraries.

Don't let user go unaware if thermo entry is being overwritten (when labels are
identical).  Also raise error if identical adjlists are found, since only
the first entry would be used in RMG.  This will probably cause database to
load a little slower, but is a preventative measure.
Make more stringent checks for unlabeled duplicate reactions in reaction libraries.

Previously, RMG would only throw an error for reactions in the same direction,
as well as same order of reactants and products.  Now using the built-in
reaction isomorphism check for both directions and all permutations.
Fix 00c8765 - do not check if own reaction is duplicate.
Unit test (failing) for reading old-style adjacency lists.

See issue #180
Can read old-fashioned adjacency list (with no Lone Pairs column) and implicit H

If the lone pairs column is missing, assume it's an old style adjacency list,
and therefore should have saturateH set to True, i.e. there are implicit
hydrogen atoms. 
Closes #180, for now...