Add additional electronic states

S - singlet
D - doublet
T - triplet
Q - quartet
V - quintet
Add function to set spin multiplicity of an atom
Finding all possible electronic states in product structures

The current assumptions for newly found products is that they attain the
highest possible multiplicity as this in most cases the most stable
species and resulting often in the fastest kinetics. However if we start
with a singlet biradical reactant in the forward direction we find with
this assumption only the triplet biradical as product of the reverse
reaction. I became aware of this because I have added the nitrogen atom
as a triradical to the three important reaction families H_abstraction,
Disproportionation and R_Addition_MultipleBond.

I think making it very general is the simplest solution. For that I have
added the electronic states of quartet (Q) and quintet (V). I didn’t
want to continue hardcode specific exceptions. Therefore I have modified
the function __generateProductStructures() to find all possible
electronic states for the newly found product structures and add all
possible combinations of these products to a product structures list.
This list can also contain spin-forbidden reactions! But instead of
hardcoding the removal of them I think we should add their often very
slow kinetics to the library.

I have extended __generateReactions() to make a list of reactions using
the new list of product structures. That way it will find the reverse
reaction leading to the correct electronic state of the reactants of the
forward reaction.
Improve extension to product structure generation

- improvements to obtain correct reaction degeneracy 
- replace while loop with if conditions
Add function getRadicalAtoms to class Molecule

This function returns a list of atoms of the molecules containing at
least one unpaired electron.
Correct the assertion of maximum number of radicals
Improving stability of resonance structure generation

- include the requirement for an existing lone electron pair for
N5dd-N5ts resonance
limit allyl resonance structure generation to monoradicals
Give the edge CHEMKIN files the same numbering as for the core ones

- this prevents two edge files having the same number of species from
overwriting each other