Merge has_circular_ref from SHARYANTO::Data::OldUtil, because has_circular_ref is a valid alternative to Data::Structure::Util's has_circular_ref when the XS module fails to build on some platform