New file for working with solute descriptors for solvated molecules; modeled after file for fetching thermo data
further changes to solvation.py
Created file for testing solvation.py and abraham.py for getting solute descriptors via Platts group additivity.
Fixes to solvation module
Moved the solvationTest into rmgpy/data to live alongside the file it's testing.
getSoluteDataFromGroups(species) averages over resonance isomers.

Not sure this is the best thing to do, but it's one option.
The LSER is a linear equation, so linear averaging seems reasonable.
What did @ajalan do in Java?
Corrected some errors to solvation module and its test class.
Changed test to "assertAlmostEqual()" and added some test cases.
Modified solvation module to read in Platts non atom centered groups.
Added methods for working with solvent descriptors.
Changes for incorporating solvation.

Modified input file, loading and building models for including salvation. Changed the thermo of a species based on its solute parameters and the solvent it's in.
Reorganization of solvation module.
Fixes to solvation module and calculating solvation correction.
More changes for working with solvents.

If equilibrium constant is 0, raise an error. Update solvent name in the main method. Correct the way we add enthalpy and entropy of solvation to Wilhoit.S0 and Wilhoit.H0.
Copied simple.pyx to liquid.pyx to start making a liquid reactor.

Next commit will change it.
Turned solver/liquid.pyx into a Liquid Phase Batch Reactor.

There is no pressure, and you initialize it with species 
concentrations (IN SI UNITS!) not mole fractions.

It looks like the ODEs were already neglecting volume changes
due to stoichiometry, so we don't need to change that here.
setup.py cythonizes the new liquid reactor
Make "liquidReactor" field in input file.

Should be able to use it something like:

# Reaction systems
liquidReactor(
    temperature=(750,'K'),
    initialConcentrations={
        "ethane": (1.0,'mol/L')
    },
    terminationConversion={
        'ethane': 0.9,
    },
    terminationTime=(1e6,'s'),
)
...but don't forget the
solvation(
	solvent='water'
)
Made a liquid_phase example input file.

Settings might not make much sense yet, but it's a start.
Converting initialMoleFractions keys from names into species objects moved.

After reading an input file, the dictionary storing initial mole fractions
has its keys changed from species names into species objects. This is now
delegated to the reactonSystem object, so that liquidReactor and simpleReactor
can do it differently (liquidReactors don't have initial mole fractions).