Move has_circular_ref to Data::OldUtil (suggest users to use Data::Structure::Util instead), add clone_circular_refs