Fixing solvation database I/O

The solute library can read molecules as SMILES strings or adjacency lists.
If they can safely be written as SMILES strings, then they are saved that way too
because it's more concise.
Fix transport database I/O

This was pretty much entirely missing before.
Tiny tweak to thermo database I/O
One way to preserve database order using an OrderedDict.

This may have a performance penalty, so perhaps should be looked at again later.
It does at least mean that when you load and save the database, things like the
forbiddenStrutures file end up in the same order as how they started.

Sort order is (highest priority first)
 1. according to the tree, if there is one
 2. according to the entry.index values, if they exist
 3. preserving the order that they were loaded in, if Python > 2.7
 4. random
Update RMG example 1,3-hexadiene with multiplicity label
Update RMG example c3h4 with multiplicity label
Update RMG example ch3no2 with multiplicity label
Update RMG example diesel with multiplicity label
Update RMG example e85 with multiplicity label
Update RMG example liquid_phase with multiplicity label
Update RMG example methylformate with multiplicity label
Update RMG example minimal with multiplicity label
Update RMG example minimal_sensitivity with multiplicity label
Update RMG example TEOS with multiplicity label
Add multiplicity label to loadEntry for transport libraries
Add multiplicity label to loadEntry for thermo libraries and groups
Add multiplicity label to loadEntry for statmech depository
Add multiplicity label to class Entry and loadEntry for forbidden
structures
Add multiplicity label to loadEntry for kinetics depository
Add multiplicity label to loadEntry for kinetic groups