Enable a new keyword "solvent" for any database.

For now, keyword only used for thermo and kinetic databases.
Store the solvent found in thermo or kinetics.

Attributes are correctly stored if gas and liquid phase libraries are loaded.
Created new checks on libraries.

Import the database error class, created new checks to avoid use of liquid phase library in gas phase simulation and if solvent are not the same in the input and the library.
Keyword to identify if getThermoData is called during trainingSet or not.

Pass an argument in getThermoData when it is called during training to avoid wrong reverse rate calculation if reactant or product is matching a liquid thermo library.
Few changes to manage all cases

-Globally define self.solvent to avoid attribute error in the getThermoDataFromLibrairies when calls by the training set.
-Moved the checkLibrairies and execute it just after loading all databases.
Not apply solvation on species matching liquid thermo librairies.

Add new conditions to apply solvation based on the string in thermo0.comment
Change the logging to give the name of the matching library.
Changes to manage liquid thermo libraries in getThermoFromLibraries

Code running correclty if function called during the trainingSet or during `spec.generateThermoData` in main.py.
Pass the trainingSet variable in getThermoFromLibraries when called from getThermoData.
Bug fix

Recent changes in 80e9759ebb0d7792695b8f23df207d7ec20b88ae and then 7b25cf5f597d566be7c5d05da24565c65075f090 induced NASA polynomials coefficient changes even if species was mathing a thermo.
Changes on thermo were not so high (<0.5kcal/mol) on the enthalpy of formation. But it is better like this.
Make sure thermo class is NASA if it comes from a thermo library and is to be saved as the original.
created links to thermo class in thermo to present all entries possible in RMG.
Present the 2 type of thermo  library available in RMG.
Present how to use (liquid and gas) thermo libraries in liquid phase simulations.
Improve input documentation introducing the new thermo librairies, fix the dead link.
Merge pull request #321 from chatelak/LiquidLibraries

Introducing liquid thermo libraries in RMG
Setting default group multiplicity to [] rather than [1,2,3,4,5]

We cannot anticipate if there will be more possible multiplicities than
just these five, so we should set the default wildcard as an empty list
just like we do with radical electrons, lone pairs, etc.
Add isomorphism work in progress test for molecule and group with non-matching multiplcity
Remove reactantMatch function in data/kinetics/family.py

Seems to have been deprecated and replaced by the similar function
__matchReactantToTemplate
Perform quick checks before running findSubgraphIsomorphisms fully in molecule.py

Do this similar to the fingerprinting check in isSubgraphIsomorphic.  This
should reduce computation time.

This also ensures that multiplicity is checked between a molecule and a group.
Check multiplicity between groups when checking isSubgraphIsomorphic and findSubgraphIsomorphic
Cythonization of Group functions: isSpecificCaseOf() and isEquivalent()

This speed up mainly affects group tests.