Fixed bug in drawing of Network PES.

The bug occurred when trying to condense the space occupied by reactant
channels (placed to the left of the unimolecular isomers). The condensing
caused the reactant isomers to move to the right; we just needed to shift
the entire PES back to the left so that it actually appears in the rendering
window.
Updates to convertFAME.py to make it work with new CanTherm.

Mostly updating the names of a few existing fields and the adding of a few
new fields.
Better handling of very large barrier heights in hindered rotors.

The partition function of a hindered rotor involves a modified Bessel
function of the first kind, I0(z). This function overflows above z = 700;
however, there is a nice series expansion for exp(-z) * I0(z) with less than
0.1% error above x = 100, so we now use that for very large z. (z = V0/2RT)
Add command-line option to control generation of plots in CanTherm.

You will now only get plots of thermo, kinetics, and k(T,P) values if you
provide the -p or --plot command-line argument. Note that you will still get
a drawing of the PES in pdep jobs either way.
Can now prune network in convertFAME.py using -x flag.

You use -x to specify an energy (magnitude and units) above which any
configurations or reaction barrier heights are removed during the conversion
of a FAME input file to a CanTherm input file. This helps crop some of the
more bizarre species that RMG-Java comes up with (e.g. triradicals), leading
to a more tractable PES.
Add an E0 attribute to the Thermo property base class.

All thermo properties (ThermoData, NASA, Wilhoit, etc.) should now have this.
It is currently not set by initiation but has to be set afterwards.
Currently this data is only stored on the Conformer stored within a Species 
(eg. species.conformer.E0 rather than species.thermo.E0). I hope storing it 
in the thermo will improve both
1) parallelization (the "estimate thermo" routines will have no side effects
   besides updating the thermo object which they return.
2) QM thermo (where we should be able to extract the E0 from the QM calculation log)
Add the E0 property to all Thermo (HeatCapacityModel) classes.

It is now in the construction signature of these classes where it should 
be specified (NASA, and ThermoData). For Wilhoit it is the same as H0 and
so should not be specified (it is calculated when you fit the Wilhoit. If you wish
to specify manually, change H0).
Added E0 to Thermo unit tests.

Many work, but the conversion between NASA/Wilhoit/ThermoData is poor to say the least.
E0 varies by hundreds of kJ/mol!
Change the way Wilhoit class stores/calculates E0

The constant of integration H0 is not equal to the enthlapy at 0K,
so the parameter E0 has to be calculated instead of just returning H0.
Fix Thermo conversion unit tests.

Some of the constants in the setup were inconsistent. I think these are now right.
I also added two "round trip" conversion tests, that go from Wilhoit back to Wilhoit
either via NASA or ThermoData. These now all pass.
(I had to loosen the "almost" equal tolerance for E0, but I think 10 or 20 J/mol is ok)
Fix Wilhoit unit tests for new E0 behavior.
Use E0 on new Wilhoit class to set Conformer energy.
Increase limit for warning about poor heat capacity fits.

This is not a very helpful warning.
How high is too high? What impact does it have? What can we do about it anyway?
Don't use Conformers just to store E0 from the Thermo data.

Rather than create a Conformer as a side effect of getting thermo data,
we now just make sure the thermo data has an E0 attached to it
(this requires fitting a Wilhoit if, for example, you read a NASA polynomial
in from a database, and want to keep it as a NASA polynomial).

We now only create Conformers if and when needed in the generateStatMech()
method rather than the generateThermoData() method.
Create Conformer objects for species in PDepNetwork.updateConfigurations().

Now that we are calculating and storing E0 on the thermo object, we need to
get that attribute to the conformer attribute. We need this value for all
configurations on the PES, including product channels.
Merge branch 'thermo' to get E0 stored on species.thermo not species.conformer.

The net change of these commits is that the energy at zero kelvin (also equal
to the enthlapy at zero kelvin) is now a property of the thermo object
(eg. classes NASA, ThermoData, Wilhoit) instead of requiring a Conformer
object just to store this information. Conformers are still needed for some
purposes (eg. stat mech partition coefficients) but are now only made when needed,
not as a side-effect of estimating thermodynamics.
Fix pickling of Species objects.

For some reason the molecularWeight was out of order in the reduce() method.
This fixes a unit test.
Bugfix in rmgpy.species.Species pickling reduce function.

Apparently this isn't unit tested yet...
Created documentation index page for new API reference manual.

The API Reference will be moved into its own document (and out of the
Developer's Guide).
Always show members and inherited members for autodoc entries.

These are almost always included, so we turn them on by default. You can
turn them off for individual entries using :no-members: and :no-
inherited-members:, respectively.