For functional group substitutions again

All functional groups stored in functional_groups.json file.
Added a function "functional_groups.py" that convert
functional_groups.json into format that can be easily converted into
Molecule objects.
Modified substitute function so it takes either user input as
functional group or look up in the functional group data file to
substitute.
not sure how to avoid this but I didn't actually change content of the code
i