Remove memory profiling from generateReactions.py

Not really necessary for generateReactions script.
Add generateReactions example to the examples folder.
Return no product structures if reaction recipe action fails somewhere.

Prior to this, the molecule C1=CCC=C1 attempted to use the
1,4_Cyclic_birad_scission family in the reverse direction to
find a reaction.  There was no check that FORM_BOND should raise
an InvalidActionError if there is an existing bond between the
two atoms.  Therefore we were producing a nonsensical reaction
between [CH]1C[CH]CC1 = C1=CCC=C1

It turns out that many reactions prevent things like this from
happening by using forbidden groups (see Birad_recombination),
but it might be better to return no product structures when we
see the recipe application fail, since it is difficult to
come up with all forbidden groups beforehand.