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.
Merge remote-tracking branch 'origin/master' into scoop

Hopefully this fixes the unpickleable database problem
Fix thermo estimation in scoop to save conformer

Estimating the thermo of a species updates not only
the species.thermo but also the species.conformer.
This must also be preserved.
Start of pickling database for scoop.

This is the start of a framework for sharing the database
across multiple workers with scoop.
Moved the database saving/loading.

Saving is now a method of rmgpy.data.rmg.
Loading is done when needed.

This is currently broken, because the scoop workers do
not share the module level variable that stores the 
database pickle filename (just like they don't share
the database itself).
Got scoop working

Call it with something like:
 RMG_DB_FILE=$PWD/database.pkl python -m scoop -vv rmg.py path/to/input.py
Got scoop working

Call it with something like:
 RMG_DB_FILE=$PWD/database.pkl python -m scoop -vv rmg.py path/to/input.py
Added scoop example input file and lava submission file.

The example is a copy of the methylformate example.
The lava.sh script should be submitted to the lava queuing system.
Equivalent ones should probably be written for PBS, etc.