Sanitize products of RunReactants()

Previously, reaction SMILES was constructed directly from products returned
from RunReactants(). It led to conversion problems if the products were not a
valid chemicals.

Now all the products are being sanitized prior to conversion to SMILES and any
exceptions are discarded.
Add molecular descriptors

I added new methods to Chemical class which returns appropriate molecular
descriptors. Currently these are:
 * constitutional descriptors such as atom, bond, and ring count; weight
 * topological indices: Randic, Balaban J, Bertz, IPC, and Kier flexibility
   index.
Modify get_descriptors()

I modified get_descriptors() method of Reaction class to return newly added
molecular description for both reactants and products as a way to characterize
reaction itself.
Make a few cosmetic changes

I made a few cosmetic changes like changing sample size, output file name,
etc. Nothing really significant.