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.
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.