Raise exception if negative barrier encountered in Eckart tunneling calculation.

This is usually caused by users giving the wrong numbers of each atom,
which results in the E0 for the species or transition state being
referenced to the wrong reference state. Before this would usually cause
the code to get stuck in an infinite loop since the error would occur in
a Cython block; now the code will raise a ValueError and stop with a
more useful error message.
Check for REV after removing comment from line in Chemkin file reader.

Otherwise you could match things like the word "reversible" in the
comment, which could lead to unexpected behavior.
Fixed bug in loadRMGJavaJob() involving multiple reaction systems.

RMG-Java allows for multiple reaction systems, but only one set of
termination criteria (i.e. one conversion or time to use for all reaction
systems). When loaded in RMG-Py, the current algorithm reuses the same
TerminationConversion or TerminationTime object for all reaction systems.
However, when it tries to map the conversion species from the condition
file to the corresponding Chemkin file, it applies the change to each
reaction system, which fails for all but the first.

It might be better for the RMG-Java condition file loader to make
different TerminationTime and TerminationConversion objects for each
reaction system, but implementing that approach was more complicated than
this simpler fix, so I've held off for now.
Better parsing of RMG-Java condition files via readMeaningfulLineJava().

The previous implementation was much less flexible when it comes to
handling comments in the condition file. The new helper method
readMeaningfulLineJava() improves things considerably.
More flexibility in parsing of reactions in Chemkin files

The new implementation takes each line containing a reaction equation,
removes any comment information, extracts the three Arrhenius parameters,
and then assumes anything that is left is part of the reaction equation.
This should work for almost all of the permutations of Chemkin-like files
I have seen recently, including those with spaces in the reaction
equation and with reaction equations longer than 52 characters.

I've also added functionality for parsing reactions written as 2A=B+C
(instead of A+A=B+C) and A+B=2C (instead of A+B=2C). Since Chemkin
already requires that species identifiers begin with a letter, this is
a straightforward implementation.
Merge branch 'chemkin'
Handle bizarre representation of some integers in Chemkin Chebyshev output.

When merging two mechanisms in Chemkin-MFC, the output apparently writes
the numbers of temperature and pressure terms as e.g. 6.0E0 and 4.0E0
instead of 6 and 4. To handle this in Python we need to first convert
the string to float, and then on to int.
Better handling of stoichiometric coefficients in Chemkin files.

I had previously added code to handle the presence of stoichiometric
coefficients, but placed it inside an else clause when I should have
placed it before the corresponding if block.
Fixed bug in handling of reaction orders in Chemkin file writing.

This bug affects ThirdBody, Lindemann, and Troe forms. For ThirdBody and
the low-P limit of Lindemann and Troe, we must include the third body
when determining the units. This was not being done correctly, leading to
values that were too small by six orders of magnitude.
Fixed bug in reading of Chebyshev coefficients from Chemkin files.

Another units mistake, this time in forgetting to adjust the first
coefficient from cm^3/mol*s to m^3/mol*s for the case of bimolecular
reactants.
Added a requirements.txt file for pip to install python packages.

Use it like:

    pip install -r requirements.txt

(Nb. you have to `pip install numpy` first).
Moved import checking of xlwt package.

Previouslt xlwt was imported in RMG.initialize, so was out of scope in
RMG.execute, when it was later used. It is now imported at the top level
so it is in scope for all methods.

Closes #66
Merge remote-tracking branch 'faribas/master'
Save output before first simulation run.

If the first simulation fails, it would be nice to see the mechanism that
caused the failure. 
There is a new method saveEverything that saves the HTML, Chemkin, and restart.
This is now called at the start as well as once per iteration.
Check for a few possible mistakes in input files.

This method can be expanded to include other common (or uncommon) mistakes.
For now, it catches reaction systems that cause extrapolation of Chebyshev
polynomials outside of the PDep range. Helps avoid issue #67
Add a _repr_png_ method to Molecule for use in iPython qtconsole

If Greg and Noel can do it, so can we ;-)
http://baoilleach.blogspot.com/2012/03/molecular-eye-candy-for-ipython.html
Display pictures of species inline if running IPython QTConsole --pylab

See http://ipython.org/ipython-doc/rel-0.11/interactive/qtconsole.html#inline
If you aren't running in this mode then calls to rmgpy.display.display do nothing.
Tweak (and fix) the Atom.__str__ method.

It was missing a '
(And this doesn't need list loops)
Allow lookup of element by atomic number to accept LONG integers.

With the latest OpenBabel build, the SWIG bindings are such that
OBAtom.getAtomicNum() now returns a `long` rather than an `int`.
This caused problems when using OpenBabel to create RMG molecules.
Makefile target decython to de-cythonize as much as possible for debugging.

`make decython` should remove as much of the cythonized files as possible,
as if you had done `make clean; make minimal` so that you can debug in 
pure python mode without having to rebuild all the minimal requirements again.

Currently doesn't leave a working RMG-Py, but nor does `make minimal`!