Added KineticsGroups.generateGroupAdditivityValues() method.

This is being moved from the kineticsGroups.py script in RMG-database to
the KineticsGroups class in RMG-Py. The code has also been updated to
actually work (several things were out of date).
Added KineticsFamily.getRateCoefficientUnits() method.

This provides a way to determine the typical units of a rate coefficient
for that family: s^-1 if unimolecular or m^3/(mol*s) if bimolecular.
The current implementation uses hardcoded lists that are available in
rmgpy.data.kinetics.common; perhaps a future implementation will find a
better way, but at least you can now call a method and not care about the
implementation details most of the time.
Restored KineticsDatabase.getForwardReactionForFamilyEntry() to working order.

This function is used heavily in the kinetics group additivity generation
and evaluation code. (It also could use some refactoring, but that
comes after things are working again.)
Don't update the history in generateGroupAdditivityValues().

Doing so requires a user name, and rather than passing that to the
function I decided to leave the history updating to be done outside of
this function (e.g. by kineticsGroups.py).
Fixed minor bug in ThermoData.getEntropy() for monatomics.

The bug only occurred if the heat capacity was constant (i.e. for
monatomics). It would cause a NaN to be returned if you tried to ask for
an entropy value outside of the range covered by Tdata, as in that case
slope would evaluate to zero if CpInf == Cpdata[-1].
Slight refactoring in KineticsDatabase.getForwardReactionForFamilyEntry().

Cleaned up the code that gets the reverse Arrhenis expression a bit. The
previous code was working fine, though.
Copy valid T and P ranges in getForwardReactionForFamilyEntry().

Since the forward k(T) was only valid over these ranges, then the reverse
k(T) ought to also be only valid over the same ranges.
Changed Ea units to kcal/mol when making java kinetics library.
Don't use temperatures below 300 K to generate reverse rate coefficient.

Most thermo models don't fit thermo below 300 K.
Merge branch 'group_additivity'
Don't combine template reactions when loading Chemkin files.

Template reactions are usually separate transition states, and so should not
be combined into a single reaction. This is needed to handle reactions with
the same reactants and products that come from different families, or from
the same family but with different templates (e.g. different TS ring sizes).
Otherwise some Chemkin files will not parse.
Parse the HIGH keyword in Chemkin files.

Some Chemkin files put the low-pressure limit Arrhenius parameters on the
reaction line, and use the HIGH keyword to specify the high-pressure limit
parameters. This commit enables our Chemkin parser to handle that case. Note
that we need to re-parse the A factor from the reaction line to get the
units correct, as the low-P units are one order higher than the high-P
units.
Allow chemkin parser to read non-RMG generated chemkin files.

Saves reactions as generic Unclassified library reactions without detailed
parsing of the comment flags.
Proper handling of zero-point energy in CanTherm jobs.

Previously you had to specify the ground-state energy (including ZPE) if
giving a numerical value in the species parameter files. This was less than
ideal since virtually all codes give the V=0 energy (without ZPE) as their
output. This commit changes the way the energy is loaded to better handle
the loading of the ZPE and the scaling with the frequency scale factor.
Don't try to raise exceptions that don't exist.

Perhaps we want more exception types, but if they don't exist we shouldn't raise them.
Add 'coverage' python module to requirements and make a config file for it.

This is for testing code coverage of the unit tests using 
Ned Batchelder's Coverage.py
See http://nedbatchelder.com/code/coverage/
Add 'make test' target to Makefile for running unit tests.

This uses nosetest, and hopefully discovers all the required modules.
We may want to replace it with a special test.py file for more control,
or running example cases, but this seems to work for now.
Added 'eg1' target to Makefile to run the minimal example.

Copies it to a testing/minimal directory, runs it there, with 
both code coverage and profiling turned on.
Fix silent bug in data/thermo.py

This would only cause a problem in the case of an error,
but it would make the reported exception more confusing.
Remove some "from foo import *" statements.

Hope I haven't missed any required imports!