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.
Created new class-based implementation of the VF2 algorithm.

The use of a class lets us store some variables as attributes, so we don't
have to keep passing them around as parameters. It also offers a cleaner
API that encapsulates the details of calling the algorithm inside the
class.

I don't expect a significant speed change from this commit.
Fixed version of Molecule.getFormula().

The previous implementation would print a 1 for atoms that only appear
once in the molecule, e.g. C3H6O1 instead of C3H6O.
Added a few methods to make CanTherm easier to run from a script.

The common use case here is running CanTherm jobs and making custom plots
of the results, e.g. for a paper.
Fixed indexing bug in generateFullMEMatrix().

The bug was that the algorithm was trying to access the Fim value for
a product channel, which does not exist.
Added Network.solveReducedME() method.

This method takes the results from the MSC, RS, or CSE method and uses
them to compute the approximate total populations and population
distributions for a given set of time points and a given initial
condition (much like solveFullME() does).
Fixed scaling bug in computing of uij(E) and vim(E) via CSE method.

Amazing the things you find when trying to reproduce two-year-old
figures for your thesis.
Can now specify optional energy offset to network drawing algorithm.

This allows you to shift all of the wells up or down in energy on the
PES drawing, which is sometimes useful for setting one of the
configurations to have a ground-state energy of zero.
Merge branch 'master' of git://github.com/jwallen/RMG-Py
Merge branch 'jacobian'