Don't break at "END" in comments when parsing Chemkin files.

The reaction block in a Chemkin file continues until an END marker is
encountered. However, the previous implementation was also stopping at any
encountering of the END keyword, even in a comment. The new implementation
first strips the comment from the line before checking for the END marker.
Always check for duplicate reactions before saving Chemkin file.

This helps ensure that the generated Chemkin file is valid. If the duplicate
status of a reaction must be set, a warning is printed to the log. In the
future we should probably have these reactions already marked as duplicate
before we reach this point, so that this warning message is not printed.
Fixed bug in saving of Troe kinetics to Chemkin files.

Troe is no longer a child class of Lindemann.
Fixed bug in evaluating entropy of ThermoData objects below 300 K.

I had previously fixed the same bug (assuming a positive dCp/dT at low
temperature, which is not always true for very small molecules) for the
enthalpy, but forgot to propagate the same fix for entropy until now.
Use H298 and S298 directly from ThermoData when fitting Wilhoit in RMG jobs.

This way we don't have to worry about bugs in the getEnthalpy() or
getEntropy() methods, such as the one most recently fixed.
Added __reduce__() and __setstate__() methods to database classes.

These methods are needed in order to be able to properly pickle and unpickle
the database. Note that these classes - ThermoDatabase, KineticsDatabase,
and StatmechDatabase - need to be new-style classes (i.e. derived from
object) for __reduce__() and __setstate__() to be used by the pickler.

Closes #103.
Tweaks to ...Test.py files to reduce errors in Eclipse/PyDev.

This helps avoid errors being reported in the PyDev static analysis
tools. Also, the explicit import (rather than "from foo import *")
is a bit safer and clearer.
Delete unused and broken 'getData(self, label)' method of Database.

As far as I can tell, this method was introduced in c5ee064c17a8bfe9164a694508825a30195b302f
with the bug (line 745 would give NameError: global name 'key' is not defined)
but has never been used in this project. It is currently not used in the database
or the website.
I can't tell from the docstring quite what it was intended to do, so I'm just deleting it.
If we need it back, revert this commit.
Fix some bugs in Database classes.

These were revealed by PyDev's static analysis.
Fix some import statements, and make some 'import *' explicit.

A few of these are just to help out the PyDev IDE so that it doesn't 
get confused and report errors where non exist, but some of them 
are legitimate errors that it helped identify. 
I have also made some more imports explicit.
Fix recently introduced import bugs on master branch.

In an attempt to satisfy the PyDev IDE, I had added "import cython.short" etc.
so that it didn't complain that they were undefined. Unfortunately this
breaks things when you actually run it (with python 2.x).
Fix Exception bug in cantherm/gaussian

It was trying to raise a ChemPyError which does not exits. 
Nothing seems to be done with it so I just replaced it with a generic Exception.
Fix another import.
Fixed unit tests for repr and pickle of kinetics falloff classes.

They were causing an error because they were treating the Arrhenius n values
as double, not ScalarQuantity.
Fixed import statment in translationTest.py.

You can't use a trailing comma in an import statement. (Both the Python
interpreter and the Eclipse UI don't like it.)
Fixed bug in calculateCpInf() for monoatomics.

Monoatomic species must be handled as a special case, as they don't have any
rotational degrees of freedom.