More cleanup on P_ModificationDetection.
More cleanup. underscore-ize. Moved which func to utils.
Added external_tools for calling dot. Perhaps make pygraphviz a dependency and remove this.