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).
Liquid reactors have arbitrary high 1000 Bar pressure for kinetics calculations.

This should ensure the high pressure limit for any pressure-dependent
reactions. Perhaps there's a better way to do this..?
Tests solvation module for calculating Abraham solute descriptors and enthalpy of solvation.