Macrocycle related bug fixes that arose from differences in ring perception between OpenBabel and RDKit.
Since RDKit does not return an SSSR (smallest set of smallest rings), some macrocycles were not opened. For example, for "c1cc2ccc1CCCCCCO2", each aliphatic carbon would be perceived as belonging to two rings, which would not happen under SSSR because benzene is the smallest ring. Then, no bonds would be broken because the algorithm refused to break bonds belonging to more than a single SSSR ring. The ring perception is now performed by an external algorithm (Hanser, Jauffret and Kaufmann) and the procedure to define the bonds to break was redesigned to work with a exhaustive set of rings instead of an SSSR.
Also the --pH command line option was removed from `mk_prepare_ligand.py`.