Reaction generation now returns kinetics from family depositories and groups.
Reaction generation now returns kinetics from family depositories and groups.

The user has the option of searching just the "trusted" depositories --
here interpreted to be training and rules -- or all of the depositories.
Both are useful in different situations.

The generateReactionsFrom*() methods now also accept optional products
to make them easier to call separately from the generateReactions() method.
Accordingly, a helper method __filterReactions() prunes the reactions that
do not match the given set of reactants and products; this method is now
called in a few places.

pierrelb/RMG-Py,pierrelb/RMG-Py,KEHANG/RMG-Py,nickvandewiele/RMG-Py,nyee/RMG-Py,chatelak/RMG-Py,KEHANG/RMG-Py,faribas/RMG-Py,chatelak/RMG-Py,comocheng/RMG-Py,faribas/RMG-Py,enochd/RMG-Py,nickvandewiele/RMG-Py,nyee/RMG-Py,enochd/RMG-Py,comocheng/RMG-Py