Adding rate rules for intra-H migration for alkoxy radicals

These rules are made from the butoxy and hydroxybutyl system calculated at
RQCISD(T)/CBS//B3LYP/6-311++G(d,p) level.

Ref Ab Initio Kinetics for the Decomposition of Hydroxybutyl and
Butoxy Radicals of n-Butanol.
by: Zhang P.,Klippenstein S.K.,Law C.K.
dx.doi.org/10.1021/jp400155z | J. Phys. Chem. A 2013, 117, 1890-1906

Note some of rate rules were given as sum of two Arrhenius,they were
refitted to single Arrhenius
Adding rate rules for Beta-scission of alkoxy radicals

These rules are made by reversing the rules from the butoxy and
hydroxybutyl system calculated at RQCISD(T)/CBS//B3LYP/6-311++G(d,p) level.
The thermochemistry used comes from n-butanol mechanism
dx.doi.org/10.1016/j.combustflame.2010.06.002.

Ref Ab Initio Kinetics for the Decomposition of Hydroxybutyl and
Butoxy Radicals of n-Butanol.
by: Zhang P.,Klippenstein S.K.,Law C.K.
dx.doi.org/10.1021/jp400155z | J. Phys. Chem. A 2013, 117, 1890-1906

Note: some of rate rules were given as sum of two Arrhenius,they were
refitted to single Arrhenius
Merge branch 'master' of github.com:GreenGroup/RMG-Java
Adding rate rules for water addition to alkene (reverse of dehydration)

These rate rules are reverse of pri-, sec- and tert- alcohol dehydration
rate. The thermochemistry used to reverse the rate coefficients comes from
butanol mechanism dx.doi.org/10.1016/j.combustflame.2010.06.002

The dehydration rates were measured at NIST using a single pulse shocktube.
Fixed typo in rate rule

Made a typo in earlier commit for this family
Understand that multiplicity of '{2S,2T}' is equivalent to '2'.

This is when reading adjacency lists, and makes it more compatible with RMG-Py.
However, I think I'm about to make the database exporter export it as '2' anyway,
so this may not be necessary.
This is a belt-and-braces approach to solve @GreenGroup/RMG-database#18
Understand thermo trees that start at level L1 instead of L0.

I am not sure why the thermo trees used to start with L0
whereas the kinetics trees all begin with L1. In RMG-Py they
all begin at L1, which made exported things incompatible.
Now we try L0, if that fails try L1, and if that fails throw 
an exception.
Understand frequency trees that start at level L1 instead of L0.

Same story as previous commit.
Exporting things from the RMG-database project starts trees at level L1.
For some reason, frequency trees were expected to start at L0.
Now either will work.
Add rates to 1+2_cycloaddition and 1,2_insertion

Rates taken from Polino et al. Paper not available to public yet
so comment about its methods will be added later.

Also these the1+2_cycloaddition family does not really work
correctly without additional hard-coded changes. These are
still being tested.
Updating rate rule for CO2 elimination from methyl esters

Rate calculations for CO2 + C3H8 = methyl propanoate
by Aaron using BMK/CBSB7 without hindered rotors
Fixing typo in 1,3 CO2 insertion

Ea = 118.0 kcal/mol
Clossing aromaticity perception for generation of reactions

To allow species like cyclohexadienyl radical to go to benzene
we need the aromatic species to be represented by single-double
bonds.

However to get the correct thermo and transport properties we still
should convert it back to Cb representation. Currently we will just make
a copy of the graph and percive aromaticity on it to get the correct
thermo and transport properties.

Done with help of Aaron Vandeputte
Updating aromatic perception

Updated Sandeep`s algoritm to sample an additional time through all rings when an aromatic ring is recognized
solves naphtalene problems (checked for benzene, naphtalene, anthracene, corene and C7H8)

Conflicts:

	source/RMG/jing/chem/ChemGraph.java
Debugging to account for phenyl radical

C in ring with 2 adjacent neighbours breaks aromaticity
this commit will not recognize benzyne as being aromatic, need to correct with ring corrections
Fixed bug in checking aromaticity of phenyl radical
More bug fixes for aromaticity perception

No of pi electrons have to be more than two
Earlier code would break for fused aromatic ring with radical

If one of the resonance isomers has fused rings with
one ring classified as aromatic and the second as
non aromatic then a shared C can have a B bond and
a D bond C {*,B} {*,B} {*,D}
causing the valency check to fail.

To avoid this we now have additional checks
which convert the other ring to be classified as non-aromatic.

This is for academic interest only :) .... since Aaron thinks
the most stable isomers will have both rings classified as
aromatic.
Aarons update for aromaticity perception in fused rings

Earlier bug fixes did not classify anthracene as aromatic anymore.
The algorithim is now modified such that the second aromaticity check
updates a new list which is sent for reclassification by Sandeep's
aromaticity algorithim. This ensures that when one ring classification
is changed from aromatic to non-aromatic we recheck all the other rings
to see if their classification has changed. This a recurssive and
converges when the aromatic List and updated aromatic List match.
Only then we convert the aromatic species to B bonds.

This change was almost entirely written by Aaron Vandeputte .. I have
just made it more streamlined and cleaned up the code a bit.
Commenting print lines used for debugging
Populatereactions module does not read in rate coefficients
from Reaction Libraries

It seems we forgot to set the LibraryReactionGenerator before
trying to call the model enlarger to fill in the networks
partially. Hopefully this should fix it.