Fixed missing import of Reaction class in rmgpy.pdep.network.

Ironically this error was only occurring when about to raise a different
exception.
Changes to help run the RS method for a 2D master equation.

The new version iterates over J when choosing the active-space matrix
bandwidth. Several subscript errors are also fixed (e.g. indexing by one
subscript when two are required).
Do not raise exception within `isMoleculeFobidden` for program speed-up

Uses slightly more restrictive initialMap.
Do not add (+M) to Chebyshevs when writing reaction libraries.
Only mark as duplicates if both reactions are pdep or both are not pdep.
Add whitespace between reaction string and A factor in chemkin kinetics.
Fixed units bug in k(T,P) equilibrium check error message.

Pressures are stored internally in Pa, not bar.
Sort reactants and products when loading reactions from CanTherm input.

Otherwise some bimolecular reactant channel comparisons could randomly
fail.
Fixed bug when saving PDepArrhenius kinetics in CanTherm.

The n parameter in an Arrhenius expression is a ScalarQuantity, so you
must use its value_si attribute to access its float value.
Deprecated use of frequency scale factor in CanTherm species files.

Previously you could specify the frequency scale factor in either or both
of the job input file or the species files, which is confusing and
redundant. I decided to keep the one in the job input file, since it
probably ought to be the same for all species in your job. A warning is
printed if this value is missing from the job input file or found in a
species file, to encourage users to make the change.
Added ScanLog class for loading/saving scan energies from a text file.

This provides the option of supplying the scan energies manually in a
text file instead of reading them from a Gaussian log file. The file is
also automatically saved by CanTherm when reading scan energies from a
Gaussian log file, in case you want to see or modify the results.

The file format is a two-column table with the angles and energies.
The units are read from the first line, and can take several values.
When loading, the energies will be offset so that the first value is
zero if not already done; this way you can provide the raw values in
Hartrees if you wish.
Can now specify mole fraction of excess reactant in Network.setConditions().

This is useful if you want to integrate the master equation or the set of
k(T,P) values forward in time. The solveFullME() and solveReducedME()
methods already account for the total concentration for bimolecular
reactions; thus this commit provides the ability to specify the mole
fractions.
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.