Fixed bug in cycle detection algorithm caused by new graph format.

The getSmallestSetOfSmallestRings() method generates a copy of the graph
before applying the SSSR algorithm so as to not modify the original.
Before, this was safe because we could make a shallow copy and reuse the
same Vertex and Edge objects, since we didn't store any information about
the graph connectivity on these objects. Now that we are, we must make a
deep copy of the graph to use for the SSSR algorithm. As a result, we
also need to map the vertices of the copy back to those of the original
graph before returning.

This was causing the molecule drawing to fail for cyclic species; the
problem should now be fixed.
Fix ring correction searching in group additive thermo estimator.

The new method of storing bonds on atoms requires this change.
Closes #81.

NB. Ring corrections are searched using a molecule fragment with
only the ring and no adjoining atoms. If a ring correction definition
depends on ligands, it will not be found. (This is not a change in 
this commit, just an observation)
Fix issue #82 in rmgpy.molecule.graph.Graph.getSmallestSetOfSmallestRings

Closes #82.
Change SMILES writer to remove stereochemistry.

We (currently) don't have any stereochemistry, it's just guessed
by OpenBabel, and makes the SMILES strings longer and more ugly
than they need to be. This removes the @@H signs, and also might
make it faster as we make fewer calls through pybel.
Merge branch 'molecule' into 3DCoor
Moved qmtp_package to rmgpy/qm (and unit tests accordingly)

Reasoning:
1) The QM stuff is no more independent than cantherm, measure, or the solver,
   so may as well live alongside them.
2) It will do more than just thermodynamic properties, so I dropped the 'TP'
   from the name.
Change suggested RMG_workingDirectory path due to qm package move
Update QM unit tests import statements for new package location.
Rename rmg_qm_parsers -> parsers
Rename qmtpjobs -> jobs
Rename qminputwriters -> inputwriters
Fix bug in rmgpy/species.py that prevents cythonization.

TransitionState can't inherit from Molecule this way under Cython.
Turning ''' into """ to better match style guide.
More style changes.

" ".join(()) is better than lots of +" "+ and split lines.
Reindent QM files.

Four spaces per indentation.
This is the result of running the reindent.py script that comes with
Python 2.6, with some manual tweaking to fix syntax where needed.
Exception handling in SymmetryJob failure
Improved import statements.

Style guide suggests how and what to import and in what order.
From foo import * is dangerous.
Renaming things needlessly is confusing.
Try to avoid namespace collisions.
Converted line endings to unix mode (LF).

They were all a mix. Should have noticed this earlier and
done this change long ago! (`flip -u *.py`)

Please try to keep them as unix endings. If you wish to 
edit with a Windows text editor, configure your git accordingly.
Remove the 'environ' variables and change how Jobs run

A switch towards more class level variables in the QMJobs classes.
Removed the 'self.environ' things which were everywhere and not needed.
(Also, I think symmetry calculations only used to try one attempt due to a bug)
Some tidying up