New (failing?) cyclic symmetry number unit tests.

Not sure if 1,2-DimethylBenzene should have same *cyclic* symmetry number as 
1,3-DimethylBenzene? Some more documentation (in the docstrings) about what exactly
this cyclic symmetry number is would help
fixup! added aromaticity recognition for symmetry calcs

Better to avoid casting to string if we can - just check if it is None.
fixup! added aromaticity recognition for symmetry calcs

I think this could have been nasty!
atomType is a mutable object. Suppose it was a Cds atom type. What your code would have done,
is change the label on all Cds atom types to be 'Cb'. 
   atom1 -> AtomTypeCds -> label -> 'Cds'
would become
   atom1 -> AtomTypeCds -> label -> 'Cb'
instead of 
   atom1 -> AtomTypeCb -> label -> 'Cb'

Because the AtomType objects are shared, I think it would have changed them everywhere,
not just in this copy of this molecule.
I think this may be a bug. Would you like to investigate?
fixup! Introduced `getNumberDegreesOfFreedom` into conformer class

Rather than look up self.conformer.modes[i] loads of times,  we look it up once
and store it in a local variable 'mode'. It is lookups that take time in Python,
so this would be faster (as well as hopefully easier to read and debug)
fixup! Introduced `getNumberDegreesOfFreedom` into conformer class

Better to explicitly check for what you are looking for, than assume that 
the exception you catch in a try/catch block is the right one. Makes code 
easier to read too.

My question is should we be checking for `Torsion` or is `HinderedRotor` the correct class?
fixup! Introduced `getNumberDegreesOfFreedom` into conformer class

Try/except could catch other exceptions, and suggests that the try ought to work.
Maybe this should actually be a type check on mode (is it an instance of `Vibration`, for example)?
fixup! Introduced `getNumberDegreesOfFreedom` into conformer class

The "else: pass" blocks are redundant.

You may consider chaining all the "if" blocks as "elif", and end with a final
"else:" that raises an "I don't know what this type of mode is!" type of error.
Merge pull request #1 from rwest/216

Suggestions for your pull request #216