Modify Sample class

Previously, method get() was populating the sample and returning its contents.
Effectively, it was returning a new sample each time it was called. To prevent
this situation I introduced a new method fetch() which only populates the
sample and rewrote get() just to return it content.
Correct some minor bugs in Sample class

I corrected two minor bugs (syntax errors really) in fragments which was not
used so far.
Utilize numpy function in molecular descriptors

Adjacency and distance matrices are numpy arrays, but I was using generic
Python built-ins, e.g. len(), max(), and min(), to extract needed
properties.

Just as a kind of exercise, I rewrote some of the descriptors with help
of dedicated numpy functions, i.e. a[i].max() instead of max(a[i]).
Consider size of the arrays I would not expect significant performance
improvement.
Change error handling in Chemical class

Previously, an instance of Chemical class was terminating the calling
script in case of any errors during initialization by invoking
sys.exit() function. This type of error handling is (very) poor's man
choice. Thus, I get rid of it entirely and make the instance to raise an
exception instead.
Change error handling in Reaction class

Previously, an instance of Reaction class was terminating the calling
script in case of any errors during the initialization by invoking
sys.exit() function. I replaced this poor's man error handling method
with raising an exception.
Add optional argument to Reaction initialization

An instance of the Reaction class can be now initialized with an
optional argument, reaction id. When skipped it defaults to None.
Add exception handling code

I modified the code to catch and handle gracefully exceptions which may
be raised during instantiation of Chemical and Reaction classes.
Centralize code dealing with functional groups

The code dealing with functional was scattered across the source code
without a good reason. I put everything in one place and commented it
out since we are not using functional groups at the moment in any way.
Update initialization of the sample

Whoa! This should go along changing the commit modifying Sample class.
Anyway, I updated fragments related to dealing with chemical sample to
reflect the changes made by commit 'Modify Sample class'.
Extend the amount of data to deal with

I modified the code to be able to output not only descriptors and reaction
status but reaction SMILES and RXIDs as well.
Comment out PCA code

I commented out the PCA code as we are no longer use this method.