Analytical jacobian and rate derivative.
Change rate derivative function to return an array derivative for all reactions
Perform direct local sensitivity calculation within dassl solver if turned on

Should be adaptable for additional reaction systems other than the
isothermal/isobaric system SimpleReactor.  Each new reaction system will need
an analytical jacobian and rate derivative function.
MultiPDepArrhenius requires identical pressures in all PDepArrhenius objects.

This is so we can evaluate the k(T,P) values by evaluating the sum of the
k(T,P_1) and k(T,P_2) values across the different PDepArrhenius
expressions, then interpolating logarithmically in pressure. The idea is
that you need this sum-of-PLOG format to accurately capture the very
non-Arrhenius behavior of some pressure-dependent kinetics.
MultiPDepArrhenius requires identical pressures in all PDepArrhenius objects.

This is so we can evaluate the k(T,P) values by evaluating the sum of the
k(T,P_1) and k(T,P_2) values across the different PDepArrhenius
expressions, then interpolating logarithmically in pressure. The idea is
that you need this sum-of-PLOG format to accurately capture the very
non-Arrhenius behavior of some pressure-dependent kinetics.
Fixed thermo groups commenting.
Change cyclic molecule check function to isCyclic() in thermo estimation.

This may speed up the cyclic check- don't start more expensive function
getSmallestSetOfSmallestRings() until we are sure molecule is cyclic.
Skips the function altogether if the molecule is polycyclic.
Added missing imports to rmgpy.data.kinetics.__init__ module.

These are needed for some functions in this module to work.
Fixes to the new reaction generation from families algorithm.

The previous algorithm for merging duplicates did not actually work when
forward = False in KineticsFamily.__generateReactions(). This commit
provides a working version, which is rather verbose and repetitive, but
is still better than a non-working implementation.
Convert rmgpy.molecule.graph to Cython .pyx file.

Since graph manipulation speed is a critical bottleneck for RMG-Py jobs,
I think abandoning pure Python mode is worth the potential speed boost.
This commit provides a straight translation from the pure Python syntax
to the equivalent Cython syntax.
Moved VF2 isomorphism algorithm to new rmgpy.molecule.vf2 module.

This is another advantage of using .pyx files: better dependency handling
across related modules.
Faster versions of Atom.copy() and Bond.copy().

The previous implementation was falling back to pure Python. The new
version uses the ExtType.__new__(ExtType) trick to directly instantiate
the extension type object in C. The attributes then need to be populated
manually. This is done inside copy() rather than calling __init__() for
speed reasons.

This change alone should give a 5-10% speed boost, since we spend a lot of
time copying atoms and bonds when generating reactions. Molecule.copy()
should no longer be a significant presence on the CPU profile output.
Don't use pybel in Molecule.getFormula().

Converting to OBMol is expensive enough that we don't want to be doing it
to generate our molecular fingerprint. Instead I've written an algorithm
that gets the chemical formula directly from our molecular representation.
Merge branch 'master' of git://github.com/jwallen/RMG-Py

Conflicts:
	rmgpy/kinetics/arrhenius.pyx
Remove deprecated `checkDuplicateKinetics` function in chemkin reader.

Now using markDuplicateReactions instead.
Update documentation/source/users/rmg/installation/windows.rst

Modifications found after trying to download on a Windows 7 64 bit computer on 1/10/2013
Make chemkin parser case-insensitive to keywords.
Use species label when saving rotor scan plots in CanTherm jobs.

This enables the user to have multiple species in the same directory, but
still keep the plots of the hindered rotor scans.
Fixed bug in unit conversion when plotting kinetics in CanTherm jobs.

Had a multiplication where a power should be, causing the k(T) to become
zero for unimolecular reactions.
Merge branch 'patch-1' of https://github.com/jbarlow3/RMG-Py