changes made to "substitute" function

I've modified the "substitute" function in /pymatgen/core/structure.py to add functional group from either user-defined molecule object, or from database functional_groups.json. 
Additional files functional_groups.py and functional_groups.json were also added under /pymatgen/core directory.