Changing the limit on max product number

Inorder to load some of the LLNL mechanism as libraries
needed to increase the max number of products from 4 to 5.

Might need to check if anything gets adversely affected with
this change.
Increment maximum product count from 4 to 5 in RMG

This allows us to handle upto 5 products in a reaction.
There are number of places where we have hard coded the products
and this makes it really difficult to update number of products.

This commit mimcs changes done by @jwallen in
f3cb73df12fc20c037fd195c344f9b3bba9dd505
Updated DASSL to handle up to five products in reactions.

The reaction arrays for regular, third body, Lindemann, and Troe reactions
needed to be updated to include another element for the new product. (Aside:
why aren't these arrays two-dimensional?)

DASPK has not yet been updated, since it would be even more involved, and
I'm not set up to test it at the moment. However, the sorts of changes made
here should be similar to changes that would be needed there.

Note that the maximum number of reactants and products is still hardcoded in
many places.

Mimics changes done by @jwallen in commit
affe5956095d5b16fcb46051018522a7ef8fe98e

I have tested the minimal example after this commit and it gives exactly the
same results as before changing the product number for the ODE
so I expect it to be correct, however it would be nice to check against
chemkin.
Updated DASPK to handle up to five products in reactions.

The changes mirror those recently made to DASSL, although these have not yet
been tested.

Mimics commit made by @jwallen 1a6ea77d58b45adb5a66934410905899f33e11f3
 Flagged out part of the code that didnt do what it was supposed to do
 It tried to find 2 adjacent radical sites and make a double bond between them
 However, there is no cycling over the different resonance isomers
 and nodes are not updated after they have been changed making the new graph identical to the first graph
 A working code doing the same has been written long before in the generateResonanceIsomersFromRadicalCenter() subroutine
 but was flagged out due to wrong thermo for birads and unwanted reactions
Skip checking for the stablest resonance isomer once thermo for initial graph
is obtained from a thermo library.
Bug-fix: resonance isomers always include the original molecule when they exist and only then
This made the new conjugated ring code to add various similar species, as in this case only the resonance isomer
was added to the resonance isomer vector.

This also relates to previous commit: when resonance isomers existed, it was checking all of them for lowest thermo
unrelated to the fact if the original thermo was obtained from a library.
New change that might speed up the code a little bit in cases a lot of non-resonating radicals are present.

Old code always added the radical to a new resonance vector, while now this is only done when a first resonance isomer is found.
This can help bypassing some checks if(resonanceIsomers = null) speeding up the code and requiring less mem.