Reaction Toolkit Introduction:
New object type: Reaction.
A reaction is made up of zero-or-more molecules.
Can be made from scratch (dt_alloc_reaction(), dt_addcomponent()) or made from
a SMILES (dt_smilin()).
dt_alloc_reaction() => dt_Handle reaction
dt_addcomponent(reaction, mol, role) => dt_Handle mol_copy
dt_dealloc(mol) => dt_Boolean success
dt_smilin() represents a slight variation on our polymorphism. Multiple object
types are created in a function, based on the given input string.