Fix isEquivalent and isSpecificCaseOf functions in groupAtoms and atoms.

In groups, let an empty list denote any possibility is allowed, in other words X,
the wildcard.
Add general check for nonidentical nodes for statmech/solvation/transport/thermo groups.
Add a few more adjlist tests.

All are working now except for the exception
1 C 2S {2,T}
2 O 2S {1,T}

which cannot be transformed properly to

1 C u0 p1 c-1 {2,T}
2 O u0 p1 c+1 {1,T}

therefore it must be denoted in the 3 column format.
Modify the fromOldAdjacencyList() function.

The current status for Groups:

If the group comes in the old adjacencyList format, then the lonePairs will
be stored as a wildcard.  In order words, an empty list.

If the group comes in an intermediate adjlist format with a 3rd column, the
lonePairs will be denoted as such, with any additional lonePairs added to it
if the electronic state is something complex such as 3D or 2S, etc.

The current status for Molecules:

If the molecule comes in the old adjlist format, the molecule will automatically
default to a certain number of lone pairs on each atom, ie. C: 0, H: 0, Ar: 4, O:2, S:2, etc.
Additional lone pairs may be added if the electronic state is something like 2S or 4S.

For intermediate adjlist formats, the 3rd column number will be used as the number of lone pairs
with any additional added based on the electronic state.

Then the molecule gets saturated with H atoms, and finally each atom is updated with its
charge state.  (for intermediate adjlists, saturateH must be specified by the user to be True for
this to occur.)

Multiplicity is by default calculated by 2s+1 where s is 1/2*
number of unpaired radical electrons.
Fix bug for drawing CO molecules.

We were making an exception for drawing CO but it was not being handled
correctly because we needed Molecule.getFormula(), not Molecule.getFormula,
which returns the built-in function.